Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 按钮,以检查movieclip';s颜色匹配[AS3]_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 按钮,以检查movieclip';s颜色匹配[AS3]

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.

我正在做一个项目,现在它是关于着色形状,用户将不得不选择颜色,点击形状应用颜色,他们可能会点击一个按钮来检查它是否正确。我设法做到了所有这些,但没有按按钮。如何为“check1_btn”按钮编写IF/Else或Switch/Case语句,我将单击该按钮来检查movieclip的颜色是否与我选择的颜色匹配,如果匹配,它将跟踪“good”,否则它将只跟踪“oops!”

这是用于选择和删除颜色的代码:

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 )