【问题标题】:ActionScript 3.0 ArrayActionScript 3.0 数组
【发布时间】:2015-07-23 10:14:29
【问题描述】:

我有一个工作数组和这个数组的循环。我的循环中只有一个跟踪操作,所以我知道它正在循环。我的问题是在选择右/错误的答案时,我将如何显示下一个图像数组。我的代码如下,任何帮助将不胜感激:)

var characterArray:Array = new Array(); 
characterArray[0] = [pirateboy, pirategirl, pig]; //pig is the ans
characterArray[1] = [pirategirl, pirategirl ,pirateboy]; //pirateboy is the ans
characterArray[2] = [pirategirl, pirateboy, pirateboy]; //pirategirl is the ans 
characterArray[3] = [parrot, snowman, parrot]; //snowman is the ans

pig.addEventListener(MouseEvent.CLICK, rightanswer); 

 function rightanswer (event:MouseEvent){ 
 if (MovieClip(event.target) == characterArray[0][2])
{ 
gotoAndStop(3)

} 

}

pirateboy.addEventListener(MouseEvent.CLICK, rightanswer1); 

function rightanswer1 (event:MouseEvent){ 
if (MovieClip(event.target) == characterArray[1][2])
{ 
gotoAndStop(3)

} 

}

for(var i:int = 0; i

trace("游戏");

} //循环数组

【问题讨论】:

    标签: actionscript-3


    【解决方案1】:

    您的代码需要进行一些重组。

    存储活动 characterArray 子数组的索引。

    var characterArray:Array = new Array();
    characterArray[0] = [pirateboy, pirategirl, pig]; //pig is the ans
    characterArray[1] = [pirategirl, pirategirl ,pirateboy]; //pirateboy is the ans
    characterArray[2] = [pirategirl, pirateboy, pirateboy]; //pirategirl is the ans 
    characterArray[3] = [parrot, snowman, parrot]; //snowman is the ans
    
    pig.addEventListener(MouseEvent.CLICK, onCharacterClick);
    pirateboy.addEventListener(MouseEvent.CLICK, onCharacterClick);
    pirateGirl.addEventListener(MouseEvent.CLICK, onCharacterClick);
    snowman.addEventListener(MouseEvent.CLICK, onCharacterClick);
    
    var currentQuestion:int = 0;
    
    function onCharacterClick(event:MouseEvent):void
    {
        switch(currentQuestion)
        {
            case 0:
                if(event.target == pig)
                {
                    currentQuestion++;
                    gotoAndStop(3);
                }
                break;
            case 1:
                if(event.target == pirateboy)
                {
                    currentQuestion++;
                    gotoAndStop(3);
                }
                break;
            case 2:
                if(event.target == pirategirl)
                {
                    currentQuestion++;
                    gotoAndStop(3);
                }
                break;
            case 3:
                if(event.target == snowman)
                {
                    currentQuestion++;
                    gotoAndStop(3);
                }
                break;
            default:
                break;
        }
    }
    

    这会存储当前的字符集。您可以使用characterArray[currentQuestion] 访问该特定数组。如果你想显示每个字符的选择,你可以像这样循环当前的字符数组:

    for(var i:int = 0; i < characterArray[currentQuestion].length; i++)
    {
        //add characterArray[currentQuestion][i] to the displaylist
    }
    

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 2016-08-04
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多