Arrays 我怎么能随便叫一个电影演员做点什么?

Arrays 我怎么能随便叫一个电影演员做点什么?,arrays,actionscript-3,random,Arrays,Actionscript 3,Random,我的舞台有三部电影,分别是mc1、mc2和mc3 它们现在都是alpha=0 我在舞台上也有一个按钮,当点击它时,电影剪辑中的1个会变成alpha=1 这是我的剧本: var mcArray:Array = [mc1,mc2,mc3]; for (var j:int = 0; j < hotSpot.length; j++) { mcArray[j].alpha=0; } revealBtn.buttonMode = true; revealBtn.useHandCurs

我的舞台有三部电影,分别是mc1、mc2和mc3

它们现在都是alpha=0

我在舞台上也有一个按钮,当点击它时,电影剪辑中的1个会变成alpha=1

这是我的剧本:

var mcArray:Array = [mc1,mc2,mc3];
for (var j:int = 0; j < hotSpot.length; j++)
{
    mcArray[j].alpha=0;
}

revealBtn.buttonMode = true;
    revealBtn.useHandCursor = false;
    revealBtn.addEventListener(MouseEvent.CLICK, revealClick);
function revealClick(event:MouseEvent):void
{
//what i need to write here?
}
var-mcArray:Array=[mc1、mc2、mc3];
对于(var j:int=0;j
以下是一个示例,演示如何在单击后台文件后显示随机显示对象:

Main.as(文档类)

package 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;

    public class Main extends Sprite 
    {
        private var _sprites:Vector.<Sprite>;

        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);

        }// end function

        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);

            _sprites = new Vector.<Sprite>();

            for (var i:int = 0; i < 3; i++)
            {
                var sprite:Sprite = new Sprite();
                sprite.graphics.beginFill(0xFF0000);
                sprite.graphics.drawRect(0, 0, 100, 100);
                sprite.graphics.endFill();
                sprite.x = ((sprite.width + 50) * i);
                sprite.y = 0;
                addChild(sprite);

                _sprites.push(sprite);

            }// end for

            hideSprites();

            stage.addEventListener(MouseEvent.CLICK, onClick);

        }// end function

        private function onClick(e:MouseEvent):void
        {
            showSprite();

        }// end function

        private function showSprite():void
        {
            hideSprites();

            (_sprites[random(0, 2)] as Sprite).alpha = 1;

        }// end function

        private function hideSprites():void
        {
            for each(var sprite:Sprite in _sprites)
            {
                sprite.alpha = 0;

            }// end for each

        }// end function

        private function random(min:int, max:int):int
        {
            return (Math.floor(Math.random() * (1 + max - min)) +min); 

        }// end function

    }// end class

}// end package

您还可以将
random()
方法的
max
参数的值替换为
\u sprites.length-1
,该参数也将返回2

将我的评论延伸到这个问题,下面是您将一步一步地做的:

//Generate random number (integer) between 0 and mcArray.length
var i:Number=Math.floor(Math.random() * mcArray.length);

//Select ith element of mcArray
var movieClipToEdit:MovieClip=mcArray[i] as MovieClip;

//Change its alpha to 1
movieClipToEdit.alpha=1;
如果要隐藏所有其他电影剪辑,请添加以下内容:

for (var j:int = 0; j < mcArray.length; j++) {
    mcArray[j].alpha=0;
}
for(var j:int=0;j
-1你想过吗?试过什么吗?还是你想让StackOverflow的好人为你做一切?即使编写一个简单的程序流逻辑也会给你一个线索。例如:;生成0到2之间的随机数(称之为
i
)->选择mcArray的第i个元素->将该元素的alpha更改为1。@PranavHosangadi我不认为这是否决某个问题的理由。我要用+1来取消你的否决票。@Taurayi:这就是让我生气的地方://我需要在这里写些什么?……这些事情首先需要尝试,然后你再问下去。所以,在这样的地方,你不希望别人不费吹灰之力就告诉你要写什么代码。对不起,我还不熟悉这个类,下面的答案更适合我的代码。顺便说一句,谢谢你的帮助,我希望你的代码能帮助别人:)
for (var j:int = 0; j < mcArray.length; j++) {
    mcArray[j].alpha=0;
}