Arrays 我怎么能随便叫一个电影演员做点什么?
我的舞台有三部电影,分别是mc1、mc2和mc3 它们现在都是alpha=0 我在舞台上也有一个按钮,当点击它时,电影剪辑中的1个会变成alpha=1 这是我的剧本: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
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;
}