事件发生后交换特定的动画片段?

时间:2013-03-14 19:11:28

标签: actionscript-3 flash-cs5

我创建了一个拖放“拼图”,它有16个独特的部分,每个部分都有自己的实例名称。

我遇到的问题是有4个目标区域由阵列组成(每个区域有4个区域,但区域中区块的顺序无关紧要)。当一件作品落入正确的区域时,我想用另一个动画片段“切换”它,并将新的动画片段放在放置目标区域。

因此,对于16个拼图中的每一个,我还有16个独特的伴侣片需要以某种方式配对,这样当可见的拼图片被丢弃时,它既被移除视野,又被其伴侣取代片。

关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:0)

MovieClip是一个动态类,这意味着您可以在运行时向其添加属性。利用此功能,您可以为原始作品分配属性,并将其命名为pairedPiece。在此属性中,您将存储适当的值(库中对的名称)。

var firstMovieClip:MovieClip;
// do whatever you need to set up your firstMovieClip, attach listeners, etc
firstMovieClip.pairedPiece = "SecondMovieClip";

// the following will occur when the piece is dropped and you need to swap it
var secondMovieClip:MovieClip = new (getDefinitionByName(firstMovieClip.pairedPiece) as Class)() as MovieClip;
secondMovieClip.x = firstMovieClip.x;
secondMovieClip.y = firstMovieClip.y;
firtMovieClip.parent.addChildAt(secondMovieClip, firstMovieClip.parent.getChildIndex(firstMovieClip));
firstMovieClip.parent.removeChild(firstMovieClip);