0

我正在尝试进行点数游戏,但遇到了障碍。

如何检查两个影片剪辑的颜色是否相同?使用 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。

有什么建议么?谢谢 :)

4

1 回答 1

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;
       }
    }
}

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

于 2013-05-06T12:04:05.347 回答