繁体   English   中英

AS3检查两个影片剪辑是否具有相同的颜色?

[英]AS3 Check if two movie clips are the same colour?

我试图进行点对点游戏,但遇到了障碍。

如何检查两个动画片段的颜色相同? 使用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。

有什么建议么? 谢谢 :)

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM