<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ADD CHILD = AS3 &#187; random</title>
	<atom:link href="http://www.addchild.net/tag/random/feed" rel="self" type="application/rss+xml" />
	<link>http://www.addchild.net</link>
	<description>初心者がFlsah ActionScript 3.0を勉強して行く軌跡です。</description>
	<lastBuildDate>Tue, 09 Feb 2010 04:10:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Math.random() を使ってランダムに色を変える方法</title>
		<link>http://www.addchild.net/as3-memo/352.html</link>
		<comments>http://www.addchild.net/as3-memo/352.html#comments</comments>
		<pubDate>Fri, 11 Dec 2009 02:10:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript 3.0 作業メモ]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.addchild.net/?p=352</guid>
		<description><![CDATA[ランダムにボールの色を変えてみる『Math.random() * 0xffffff』

ランダムにボールの色を変える前に、準備としてBallクラス（Ball.as）を作成しといて外部ファイルから読み込んでボールを作ります [...]]]></description>
			<content:encoded><![CDATA[<h3>ランダムにボールの色を変えてみる『Math.random() * 0xffffff』</h3>
<p>
ランダムにボールの色を変える前に、準備としてBallクラス（Ball.as）を作成しといて外部ファイルから読み込んでボールを作ります。<br />
※Ball.asを使いたいファイルと同階層に配置してください。
</p>
<pre class="brush: jscript; auto-links: false;">
package {
	//インポート
	import flash.display.Sprite;

	//コンスラクタ
	public class  Ball extends Sprite{
		//インスタンスプロパティー
		public var radius:Number;
		public var color:uint;

		//メソッドメニュー
		public function Ball(radius:Number, color:uint) {
			this.radius = radius;
			this.color = color;
			init();
		}

		//メソッド
		public function init():void{
			graphics.beginFill(color);
			graphics.drawCircle(0, 0, radius);
			graphics.endFill();
		}
	}
}
</pre>
<p>
radius（ボールのサイズ）とcolor（ボールの色）をあらかじめ変数に置き換えて、Ball.asを読み込んでボールを作る時に指定します。
</p>
<p><span id="more-352"></span></p>
<p>
表示させていファイルにNew演算子を使ってボールを作ります。この時にサイズと色を指定します。<br />
今回はサイズ50と色を取り合えず青にします。
</p>
<pre class="brush: jscript; auto-links: false;">
//Ball.asを読み込み
var ball:Ball = new Ball(50, 0x0000ff);
addChild(ball);
ball.x = stage.stageWidth / 2;
ball.y = stage.stageHeight / 2;
</pre>
<p>
これでパブリッシュするとステージの真ん中に青のボールが表示されると思います。<br />
では、次に色をランダムにします。<br />
ランダムにするには、Math.random()を使うので、これを利用して、『Math.random() * 0xffffff』とします。<br />
これで色がランダムに変わります。
</p>
<pre class="brush: jscript; auto-links: false;">
//Ball.asを読み込み
var ball:Ball = new Ball(50, Math.random() * 0xffffff);
addChild(ball);
ball.x = stage.stageWidth / 2;
ball.y = stage.stageHeight / 2;
</pre>
<p>
上記はランダムを取り入れた、完成版です。
</p>
<div id="flash">
ランダムにボールの色を変えてみる
</div>
<p><script type="text/javascript">
  swfobject.embedSWF("http://www.addchild.net/fl/memo/randomBall.swf", "flash", "300", "200", "9.0.0");
</script></p>
<p>
再読み込みすればボールの色が変わります。<br />
日本の国旗になった人はすごいラッキーな人です。</p>

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.addchild.net/as3-beginner/ls3/286.html" title="クラス参照でステージにムービークリップを配置[3-2] (2009年10月13日)">クラス参照でステージにムービークリップを配置[3-2]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls3/370.html" title="ムービークリップを徐々に加速させる[3-7] (2010年1月5日)">ムービークリップを徐々に加速させる[3-7]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls3/297.html" title="クラス参照でステージにムービークリップを配置[3-1] (2009年10月7日)">クラス参照でステージにムービークリップを配置[3-1]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls3/309.html" title="カスタムクラスでステージにムービークリップを配置[3-3] (2009年10月20日)">カスタムクラスでステージにムービークリップを配置[3-3]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls3/316.html" title="Tweenクラスでムービークリップをトゥイーンさせる[3-4] (2009年10月29日)">Tweenクラスでムービークリップをトゥイーンさせる[3-4]</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.addchild.net/as3-memo/352.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>クラス参照でステージにムービークリップを配置[3-2]</title>
		<link>http://www.addchild.net/as3-beginner/ls3/286.html</link>
		<comments>http://www.addchild.net/as3-beginner/ls3/286.html#comments</comments>
		<pubDate>Tue, 13 Oct 2009 04:06:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[lesson3]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.addchild.net/?p=286</guid>
		<description><![CDATA[クラス（リンケージ）参照でランダムにムービークリップを呼び出す

あらかじめライブラリーに表示させたいムービークリップを用意し、プロパティーでリンケージのクラス名に順番を付けて用意します。（例：img_mc1）

用意で [...]]]></description>
			<content:encoded><![CDATA[<h3>クラス（リンケージ）参照でランダムにムービークリップを呼び出す</h3>
<p>
あらかじめライブラリーに表示させたいムービークリップを用意し、プロパティーでリンケージのクラス名に順番を付けて用意します。（例：img_mc1）</p>
<p>
用意できたら、ムービークリップの順番を配列に置き換えます。
</p>
<pre class="brush: jscript; auto-links: false;">
//配列
var myImg:Array = new Array();
myImg[0] = &quot;img_mc1&quot;
myImg[1] = &quot;img_mc2&quot;
myImg[2] = &quot;img_mc3&quot;
</pre>
<p>
次にランダムで表示させる為のプログラムを用意します。<br />
ランダムで表示させる為には、変数NoにMath.randomを使って、配列の数をランダムに置き換えまる感じになります。
</p>
<pre class="brush: jscript; auto-links: false;">
var No = Math.floor(Math.random()* myImg.length);
</pre>
<p>
さらに、ランダムで置き換えられた変数Noを使って、ステージ上にムービークリップを表示させます。
</p>
<p><span id="more-286"></span></p>
<pre class="brush: jscript; auto-links: false;">
var class_str:String = myImg[No];
var myClass:Class = Class(getDefinitionByName(class_str));
var img:MovieClip = new myClass();
addChild(img);
</pre>
<p>
ランダムで変数Noを決めて、その変数Noの該当する配列の文字列を、getDefinitionByNameでクラス定義しムービークリップとして変数imgに置き換えaddchildでステージ表示させるカラクリになります。
</p>
<pre class="brush: jscript; auto-links: false;">
//配列
var myImg:Array = new Array();
myImg[0] = &quot;img_mc1&quot;
myImg[1] = &quot;img_mc2&quot;
myImg[2] = &quot;img_mc3&quot;

//変数
var No = Math.floor(Math.random()* myImg.length);
var class_str:String = myImg[No];
var myClass:Class = Class(getDefinitionByName(class_str));
var img:MovieClip = new myClass();
addChild(img);
img.x = stage.stageWidth / 2;
img.y = stage.stageHeight / 2;
</pre>
<p>
ステージの中心に表示させる為にstage.stageWidth / 2とstage.stageHeight / 2で表示位置を指定してます。
</p>
<div id="flash">
クラス（リンケージ）参照でランダムにムービークリップを呼び出す
</div>
<p><script type="text/javascript">
  swfobject.embedSWF("http://www.addchild.net/fl/3/2-A.swf", "flash", "550", "200", "9.0.0");
</script></p>

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.addchild.net/as3-beginner/ls3/370.html" title="ムービークリップを徐々に加速させる[3-7] (2010年1月5日)">ムービークリップを徐々に加速させる[3-7]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls3/297.html" title="クラス参照でステージにムービークリップを配置[3-1] (2009年10月7日)">クラス参照でステージにムービークリップを配置[3-1]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls3/309.html" title="カスタムクラスでステージにムービークリップを配置[3-3] (2009年10月20日)">カスタムクラスでステージにムービークリップを配置[3-3]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls3/316.html" title="Tweenクラスでムービークリップをトゥイーンさせる[3-4] (2009年10月29日)">Tweenクラスでムービークリップをトゥイーンさせる[3-4]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-memo/352.html" title="Math.random() を使ってランダムに色を変える方法 (2009年12月11日)">Math.random() を使ってランダムに色を変える方法</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.addchild.net/as3-beginner/ls3/286.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
