AS3检查两个影片剪辑是否相同?

时间:2013-05-06 11:48:37

标签: actionscript-3 if-statement conditional colortransform

我正在尝试连接点游戏,但我遇到了障碍。

如何检查两个动画片段是否相同?使用colorTransforms,我已经做到这一点,当你将鼠标悬停在一个点上时它变为绿色,如果你将鼠标悬停在下一个正确的点上,该点也会变为绿色,其余点保持红色。

当两个点是相同的颜色(绿色)时,我想要一个改变将两个点连接到可见的线的功能。我该如何编写条件语句?

这是我的代码:

line1.visible = false;

var red:ColorTransform = new ColorTransform();
red.color = 0xFF0000;

var green:ColorTransform = new ColorTransform();
green.color = 0x00FF00;

dot1.addEventListener(MouseEvent.MOUSE_OVER, color1Toggle, false, 0, true);
dot2.addEventListener(MouseEvent.MOUSE_OVER, color2Toggle, false, 0, true);

function color1Toggle(event:Event):void{
    dot1.transform.colorTransform = green;
    dot2.transform.colorTransform = red;
}

function color2Toggle(event:Event):void{
    dot2.transform.colorTransform = green;
}

因此,当dot1和dot2为绿色时,我希望line1的可见性更改为true。

有什么建议吗? 谢谢:))

1 个答案:

答案 0 :(得分:1)

function color1Toggle(event:Event):void{
    dot1.transform.colorTransform = green;
    dot2.transform.colorTransform = red;
    checkSameColors()
}

function color2Toggle(event:Event):void{
    dot2.transform.colorTransform = green;
    checkSameColors()
}

function checkSameColors():void {
    if (dot2.transform.colorTransform.color ==   dot1.transform.colorTransform.color) {
       //same color
       if (dot1.transform.colorTransform.color == 0x00FF00   ) {
          //both are 0x00FF00
           line1.visible = true;
       }
    }
}

这不是通用代码,但它可以回答您的问题。

相关问题