svnno****@sourc*****
svnno****@sourc*****
2011年 3月 22日 (火) 11:02:55 JST
Revision: 438 http://sourceforge.jp/projects/swfed/svn/view?view=rev&revision=438 Author: yoya Date: 2011-03-22 11:02:55 +0900 (Tue, 22 Mar 2011) Log Message: ----------- Define 系は基本的に Sprite の外(直前)に展開するが、DefineSprite は Sprite の中に(入れ子で)展開するよう変更 Modified Paths: -------------- trunk/src/swf_object.c -------------- next part -------------- Modified: trunk/src/swf_object.c =================================================================== --- trunk/src/swf_object.c 2011-03-20 17:03:09 UTC (rev 437) +++ trunk/src/swf_object.c 2011-03-22 02:02:55 UTC (rev 438) @@ -1216,19 +1216,22 @@ int to_bitmap_id = trans_table_get(cid_trans_table, bitmap_id); swf_tag_shape_bitmap_replace_refcid(tag, to_bitmap_id); } - } else if (isSpriteTag(tag_no)) { + } + if (isSpriteTag(tag_no)){ swf_tag_sprite_detail_t *s; s = swf_tag_create_input_detail(tag, swf); if (s == NULL) { fprintf(stderr, "swf_object_replace_movieclip: s swf_tag_create_input_detail failed\n"); } trans_table_replace_refcid_recursive(s->tag, cid_trans_table); + // no break; // Sprite タグの中に入れる。 + } else { + // Sprite の前に展開 + prev_sprite_tag->next = swf_tag_move(tag); + prev_sprite_tag = prev_sprite_tag->next; + prev_sprite_tag->next = sprite_tag; + break; } - // Sprite の前に展開 - prev_sprite_tag->next = swf_tag_move(tag); - prev_sprite_tag = prev_sprite_tag->next; - prev_sprite_tag->next = sprite_tag; - break; // Control Tag case 0: // End case 1: // ShowFrame