我创建了一个拖放“拼图”,它有 16 个独特的部分,每个部分都有自己的实例名称。
我遇到的问题是有 4 个由数组组成的目标区域(每个区域 4 个,但区域中的部分顺序无关紧要)。当一个片段落入其正确的区域时,我想用另一个影片剪辑“切换”它,并将新的影片剪辑放在放置目标区域中。
因此,对于 16 个拼图中的每一个,我还有 16 个独特的伴侣需要以某种方式配对,这样当可见的拼图掉落时,它既会从视野中移除,也会被它的伴侣替换。
关于如何做到这一点的任何想法?
我创建了一个拖放“拼图”,它有 16 个独特的部分,每个部分都有自己的实例名称。
我遇到的问题是有 4 个由数组组成的目标区域(每个区域 4 个,但区域中的部分顺序无关紧要)。当一个片段落入其正确的区域时,我想用另一个影片剪辑“切换”它,并将新的影片剪辑放在放置目标区域中。
因此,对于 16 个拼图中的每一个,我还有 16 个独特的伴侣需要以某种方式配对,这样当可见的拼图掉落时,它既会从视野中移除,也会被它的伴侣替换。
关于如何做到这一点的任何想法?
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);