は、ステージをクリックした後にランダム表示オブジェクトを表示する方法を示す例です:
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
簡単に言えば、Math.round()
を使用して、ここでは表示オブジェクト配列のランダムインデックスを取得します。
(_sprites[random(0, 2)] as Sprite).alpha = 1;
private function random(min:int, max:int):int
{
return (Math.floor(Math.random() * (1 + max - min)) +min);
}// end function
あなたはまた、また、質問に私のコメントを拡張2.
-1あなたはそれについて考えましたか?何か試した?それとも、StackOverflowの優れた人々があなたのためにすべてをやりたいのですか?簡単なプログラムフローロジックを書くことさえ、あなたに手がかりを与えてしまったでしょう。一例があります。 0と2の間の乱数を生成する(それを 'i'と呼ぶ) - > mcArrayのi番目の要素を選択する - >その要素のアルファを1に変更する。 –
@PranavHosangadi私はそれが質問をdownvoteする理由であるとは思わない。あなたのダウンボートをキャンセルするには+1するつもりです。 – Taurayi
@ Taurayi:これは私を怒らせるものです: "//ここに書く必要がありますか?"まずは試してみる必要があります。あなたの側から何の努力もせずに書くべきコードを他の人が教えてくれると期待している場所ではありません。 –