Actionscript 3 按钮,以检查movieclip';s颜色匹配[AS3]
我正在做一个项目,现在它是关于着色形状,用户将不得不选择颜色,点击形状应用颜色,他们可能会点击一个按钮来检查它是否正确。我设法做到了所有这些,但没有按按钮。如何为“check1_btn”按钮编写IF/Else或Switch/Case语句,我将单击该按钮来检查movieclip的颜色是否与我选择的颜色匹配,如果匹配,它将跟踪“good”,否则它将只跟踪“oops!” 这是用于选择和删除颜色的代码:Actionscript 3 按钮,以检查movieclip';s颜色匹配[AS3],actionscript-3,flash,Actionscript 3,Flash,我正在做一个项目,现在它是关于着色形状,用户将不得不选择颜色,点击形状应用颜色,他们可能会点击一个按钮来检查它是否正确。我设法做到了所有这些,但没有按按钮。如何为“check1_btn”按钮编写IF/Else或Switch/Case语句,我将单击该按钮来检查movieclip的颜色是否与我选择的颜色匹配,如果匹配,它将跟踪“good”,否则它将只跟踪“oops!” 这是用于选择和删除颜色的代码: import flash.events.MouseEvent; import flash.geom.
import flash.events.MouseEvent;
import flash.geom.ColorTransform;
var SelColor:Number = 0xEFEFEF;
// Select Color
redpick_mc.addEventListener(MouseEvent.CLICK,RedS);
function RedS (event:MouseEvent):void
{
SelColor = 0xE14938;
}
orangepick_mc.addEventListener(MouseEvent.CLICK,OrangeS);
function OrangeS (event:MouseEvent):void
{
SelColor = 0xFBA026;
}
purplepick_mc.addEventListener(MouseEvent.CLICK,PurpleS);
function PurpleS (event:MouseEvent):void
{
SelColor = 0x553982;
}
greenpick_mc.addEventListener(MouseEvent.CLICK,GreenS);
function GreenS (event:MouseEvent):void
{
SelColor = 0x61BD6D;
}
bluepick_mc.addEventListener(MouseEvent.CLICK,BlueS);
function BlueS (event:MouseEvent):void
{
SelColor = 0x2C82C9;
}
yellowpick_mc.addEventListener(MouseEvent.CLICK,YellowS);
function YellowS (event:MouseEvent):void
{
SelColor = 0xFAC51C;
}
// Fill Color
bigdrop_mc.addEventListener(MouseEvent.CLICK, bdrop);
meddrop_mc.addEventListener(MouseEvent.CLICK, mdrop);
smalldrop_mc.addEventListener(MouseEvent.CLICK, sdrop);
function bdrop(event:MouseEvent):void
{
var DrawCol = new ColorTransform ();
DrawCol.color = SelColor;
bigdrop_mc.transform.colorTransform = DrawCol;
}
function mdrop(event:MouseEvent):void
{
var DrawCol = new ColorTransform ();
DrawCol.color = SelColor;
meddrop_mc.transform.colorTransform = DrawCol;
}
function sdrop(event:MouseEvent):void
{
var DrawCol = new ColorTransform ();
DrawCol.color = SelColor;
smalldrop_mc.transform.colorTransform = DrawCol;
}
这就是我想做的,但是失败了lol:
check1_btn.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);
function fl_MouseClickHandler(event:MouseEvent):void
{
if (
bigdrop_mc.transform.colorTransform.color = 0x61BD6D;
meddrop_mc.transform.colorTransform.color = 0xFAC51C;
smalldrop_mc.transform.colorTransform.color = 0xE14938;)
{
trace("Good");
}
else
{
trace("Oops..");
}
}
我想你要做的是: 替换您的if(…)代码 应该是这样的:
if (bigdrop_mc.transform.colorTransform.color == 0x61BD6D && meddrop_mc.transform.colorTransform.color == 0xFAC51C && malldrop_mc.transform.colorTransform.color == 0xE14938 )
这将要做的是检查所有这些颜色,看看它们是否正确。
&&
符号是一个“and”符号,本质上意味着它前面和后面的语句都必须满足。使用==
比较两个值。在讲代码之前,让我们先了解您想要什么。您选择一种颜色并检查3个对象以显示“Good”或“Oops..”消息,但显示该消息的条件是什么(我指的是您的逻辑,而不是您的代码)?在if语句中使用分号无法工作。事实上,你应该先问问为什么你到处都会犯这么多错误。在这之后,在if语句中使用“=”将无法工作,因为它是赋值,而不是求值器。最后,以十六进制的形式传递颜色是很常见的,但检索到的颜色从来都不是这种格式,所以它们不能等于十六进制格式。
if (bigdrop_mc.transform.colorTransform.color == 0x61BD6D && meddrop_mc.transform.colorTransform.color == 0xFAC51C && malldrop_mc.transform.colorTransform.color == 0xE14938 )