<?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; addChild</title>
	<atom:link href="http://www.addchild.net/tag/addchild/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>ムービークリップを徐々に加速させる[3-7]</title>
		<link>http://www.addchild.net/as3-beginner/ls3/370.html</link>
		<comments>http://www.addchild.net/as3-beginner/ls3/370.html#comments</comments>
		<pubDate>Tue, 05 Jan 2010 08:57:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[lesson3]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[MovieClip]]></category>

		<guid isPermaLink="false">http://www.addchild.net/?p=370</guid>
		<description><![CDATA[カスタムクラスで読み込んだムービークリップに加速度をつけて移動させる

『Math.random() を使ってランダムに色を変える方法』で利用したBall.asを今回も使ってステージにボールを配置します。
X軸はステージ [...]]]></description>
			<content:encoded><![CDATA[<h3>カスタムクラスで読み込んだムービークリップに加速度をつけて移動させる</h3>
<p>
『Math.random() を使ってランダムに色を変える方法』で利用したBall.asを今回も使ってステージにボールを配置します。<br />
X軸はステージの1/5の位置に配置し、Y軸をステージの真ん中に配置させます。（サイズ50と青色を指定）
</p>
<pre class="brush: jscript; auto-links: false;">
//Ball.asを読み込み
var ball:Ball = new Ball(50, 0x0000ff);
addChild(ball);
ball.x = stage.stageWidth / 5;
ball.y = stage.stageHeight / 2;
</pre>
<p>
これでステージにボールが表示されるようになったと思いますので、次にボールを動かすスクリプトを書きます。<br />
今までやってきたムービークリップの動かし方にさらに加速度のプログラムを足します。
</p>
<p><span id="more-370"></span></p>
<pre class="brush: jscript; auto-links: false;">
//イベントリスナー
ball.addEventListener(Event.ENTER_FRAME, loop);

function loop(event:Event):void{
	ball.x += 1;
}
</pre>
<p>
上記が従来ムービークリップのX軸に1を足して動かす方法ですが、下記は1の変わりに変数（vx)を用いてX軸の数値に置き換え、さらに加速変数（ax)をフレームが読み込まれる度に足して変数vxの数値を増やしていく感じになります。
</p>
<pre class="brush: jscript; auto-links: false;">
//イベントリスナー
ball.addEventListener(Event.ENTER_FRAME, loop);

function loop(event:Event):void{
	vx += ax;
	ball.x += vx;
}
</pre>
<p>
こうすることにより、ボールがどんどん加速しているように見えます。<br />
今回は加速度を1に設定しましたが、数値を変えれば加速度を調整できます。<br />
この加速度は色々な場面でも使うことができるので、徐々に何かをしたい時になどに使うと便利です。
</p>
<pre class="brush: jscript; auto-links: false;">
//Ball.asを読み込み
var ball:Ball = new Ball(50, 0x0000ff);
//インスタンスプロパティー
var vx:Number = 0; //初期値
var ax:Number = 1; //加速度

addChild(ball);
ball.x = stage.stageWidth / 5;
ball.y = stage.stageHeight / 2;
//イベントリスナー
ball.addEventListener(Event.ENTER_FRAME, loop);

function loop(event:Event):void{
	vx += ax;
	ball.x += vx;
}
</pre>
<div id="flash">
カスタムクラスで読み込んだムービークリップに加速度をつけて移動させる
</div>
<p><script type="text/javascript">
  swfobject.embedSWF("http://www.addchild.net/fl/3/7-A.swf", "flash", "800", "200", "9.0.0");
</script></p>
<p>
ボールがなくなってたらもう一度更新して下さい。</p>

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<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/286.html" title="クラス参照でステージにムービークリップを配置[3-2] (2009年10月13日)">クラス参照でステージにムービークリップを配置[3-2]</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-beginner/ls2/260.html" title="ムービークリップをボタンとして使う[2-4] (2009年9月13日)">ムービークリップをボタンとして使う[2-4]</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.addchild.net/as3-beginner/ls3/370.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Loaderクラスで外部ファイルから画像を複数読み込む[3-5]</title>
		<link>http://www.addchild.net/as3-beginner/ls3/337.html</link>
		<comments>http://www.addchild.net/as3-beginner/ls3/337.html#comments</comments>
		<pubDate>Thu, 19 Nov 2009 08:11:26 +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[Loader]]></category>
		<category><![CDATA[URLRequest]]></category>

		<guid isPermaLink="false">http://www.addchild.net/?p=337</guid>
		<description><![CDATA[外部にあるイメージ画像をLoaderクラスを使って読み込む

Flashのライブラリーに画像を置かずに、外部から画像がある場所を指定して画像を読み込みます。
こうすることにより、画像のみ変更する時に、イチイチFlashを [...]]]></description>
			<content:encoded><![CDATA[<h3>外部にあるイメージ画像をLoaderクラスを使って読み込む</h3>
<p>
Flashのライブラリーに画像を置かずに、外部から画像がある場所を指定して画像を読み込みます。<br />
こうすることにより、画像のみ変更する時に、イチイチFlashを編集しなくて済むので、非常に有効的な方法だと思います。
</p>
<p>
まず表示させたい画像をフォルダにまとめて、swfファイルと同じ階層に配置します。（今回は3枚の外部画像を読み込んでみたいと思います。）
</p>
<p>
画像の用意ができたら、アクションスクリプトを書いていきます。<br />
Actionscript3.0からなんですが、外部から画像を読み込むときにLoaderクラスと言う便利な機能が追加されました。<br />
そこでnew演算子を使って、変数myLoaderに新しくLoaderクラスを読み込ませます。しかしこれだけでは、画像がどこにあるのか分からないので画像がある場所をURLRquestクラスを使って指定し、変数ImgUrlに置き換えてからmyLoaderにImgUrlをロードさせるカラクリになります。<br />
あとはaddChilで表示させます。
</p>
<pre class="brush: jscript; auto-links: false;">
//Loaderオブジェクト生成
var myLoader:Loader = new Loader();
//ファイルパス読み込み
var ImgUrl:URLRequest = new URLRequest(&quot;images/img1.jpg&quot;);
//画像読み込み
myLoader.load(ImgUrl);
addChild(myLoader);
</pre>
<p><span id="more-337"></span></p>
<p>
しかし今回は複数画像を読み込むようにする為、画像の場所を指定したパスを配列に格納してから使うことにします。<br />
さらに読み込んだ画像ごとにy軸の位置をずらします。
</p>
<pre class="brush: jscript; auto-links: false;">
//配列
var url:Array = new Array();
url[0] = &quot;images/img1.jpg&quot;;
url[1] = &quot;images/img2.jpg&quot;;
url[2] = &quot;images/img3.jpg&quot;;

for (var i:int = 0; i &lt; 3; i++) {
	//Loaderオブジェクト生成
	var myLoader:Loader = new Loader();
	//ファイルパス読み込み
	var ImgUrl:URLRequest = new URLRequest(url[i]);

	//画像読み込み
	myLoader.load(ImgUrl);
	myLoader.y = 60 * i;
	addChild(myLoader);

}
</pre>
<div id="flash">
外部にあるイメージ画像をLoaderクラスを使って読み込む
</div>
<p><script type="text/javascript">
  swfobject.embedSWF("http://www.addchild.net/fl/3/5-A.swf", "flash", "400", "180", "9.0.0");
</script></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/ls2/260.html" title="ムービークリップをボタンとして使う[2-4] (2009年9月13日)">ムービークリップをボタンとして使う[2-4]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/202.html" title="ムービークリップをボタンとして使う[2-3] (2009年9月9日)">ムービークリップをボタンとして使う[2-3]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/284.html" title="ボタンに連動してムービークリップの表示を変える[2-7] (2009年10月1日)">ボタンに連動してムービークリップの表示を変える[2-7]</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.addchild.net/as3-beginner/ls3/337.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tweenクラスでムービークリップをトゥイーンさせる[3-4]</title>
		<link>http://www.addchild.net/as3-beginner/ls3/316.html</link>
		<comments>http://www.addchild.net/as3-beginner/ls3/316.html#comments</comments>
		<pubDate>Thu, 29 Oct 2009 01:20:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[lesson3]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[Tween]]></category>

		<guid isPermaLink="false">http://www.addchild.net/?p=316</guid>
		<description><![CDATA[ステージに配置したムービークリップにTweenクラスを使ってトゥイーンさせる

[3-3]でステージに配置したムービークリップにトゥイーンモーションを指定してます。


タイムライン上にあるアクションスクリプトに、まずT [...]]]></description>
			<content:encoded><![CDATA[<h3>ステージに配置したムービークリップにTweenクラスを使ってトゥイーンさせる</h3>
<p>
[3-3]でステージに配置したムービークリップにトゥイーンモーションを指定してます。
</p>
<p>
タイムライン上にあるアクションスクリプトに、まずTweenクラスとeasingクラスをインポートさせ、使えるようにします。
</p>
<pre class="brush: jscript; auto-links: false;">
//クラスのインポート
import fl.transitions.Tween;
import fl.transitions.easing.*;
</pre>
<p>
Tweenクラスに関しては、もっと奥が深いので今回は取り合えず簡単に使えるやり方にします。<br />
詳しくはもっと勉強してからと言うことで…
</p>
<p>
[3-3]でカクスタムクラスを使ってステージ上にムービークリップを配置してますので、さらにTweenクラス用のアクションスクリプトを追記します。
</p>
<pre class="brush: jscript; auto-links: false;">
// モーション設定
var mcTween:Tween;
mcTween = new Tween(my_mc, &quot;y&quot;, Bounce.easeOut, 0, (stage.stageHeight - my_mc.height/2), 5, true);
</pre>
<p><P><br />
変数mcTweenをTweenクラスを指定して宣言し、new演算子でTweenクラスでトゥイーンさせる処理を書きます。<br />
順番としては<br />
①トゥイーンさせるインスタンス名<br />
②変化させたいプロパティ<br />
③アニメーションの種類<br />
④開始値<br />
⑤終了値<br />
⑥継続時間<br />
⑦継続時間の単位<br />
になります。<br />
アニメーションの種類に関しては、あとでまとめます。<br />
</P><br />
<span id="more-316"></span></p>
<p>
今回はムービークリップのY軸にイージング終了時にバンドさせる処理としてます。<br />
カスタムクラスでステージ配置されたムービークリップは初期表示位置x軸はステージ幅の1/10で表示されるが、Y軸に関してはトゥイーンで0からステージの高さ（ステージいっぱい）に移動して、終了時にバウンドするせる感じになります。
</p>
<pre class="brush: jscript; auto-links: false;">
//クラスのインポート
import fl.transitions.Tween;
import fl.transitions.easing.*;

// Ballクラスからインスタンスを作る
var my_mc:Ball = new Ball();
addChild(my_mc);
my_mc.x = stage.stageWidth / 10;

// モーション設定
var mcTween:Tween;
mcTween = new Tween(my_mc, &quot;y&quot;, Bounce.easeOut, 0, (stage.stageHeight - my_mc.height/2), 5, true);
</pre>
<p>
asファイルに関しては[3-3]と同じになりますので、省略します。
</p>
<div id="flash">
Tweenクラスでムービークリップをトゥイーンさせる
</div>
<p><script type="text/javascript">
  swfobject.embedSWF("http://www.addchild.net/fl/3/4-A.swf", "flash", "550", "200", "9.0.0");
</script></p>
<h4>アニメーションの種類</h4>
<table>
<tr>
<th>イージングクラス</th>
<th>説明</th>
</tr>
<tr>
<td>Back</td>
<td>開始値や終了値をいったん超えて戻るアニメーション</td>
</tr>
<tr>
<td>Bounce</td>
<td>バウンドするアニメーション</td>
</tr>
<tr>
<td>Elastic</td>
<td>開始時や終了時に慣性の働くようなアニメーション</td>
</tr>
<tr>
<td>Regular</td>
<td>加速・減速をするアニメーション</td>
</tr>
<tr>
<td>Strong</td>
<td>加速・減速をするアニメーション。Regularよりも動きが極端</td>
</tr>
<tr>
<td>None</td>
<td>等速のトゥイーンアニメーション</td>
</tr>
</table>
<h4>イージンの種類</h4>
<table>
<tr>
<th>イージングメソッド</th>
<th>説明</th>
</tr>
<tr>
<td>easeIn</td>
<td>最初にイージング効果</td>
</tr>
<tr>
<td>easeOut</td>
<td>最後にイージング効果</td>
</tr>
<tr>
<td>easeInOut</td>
<td>両方にイージング効果</td>
</tr>
</table>

	<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/286.html" title="クラス参照でステージにムービークリップを配置[3-2] (2009年10月13日)">クラス参照でステージにムービークリップを配置[3-2]</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/ls2/260.html" title="ムービークリップをボタンとして使う[2-4] (2009年9月13日)">ムービークリップをボタンとして使う[2-4]</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.addchild.net/as3-beginner/ls3/316.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>カスタムクラスでステージにムービークリップを配置[3-3]</title>
		<link>http://www.addchild.net/as3-beginner/ls3/309.html</link>
		<comments>http://www.addchild.net/as3-beginner/ls3/309.html#comments</comments>
		<pubDate>Tue, 20 Oct 2009 07:11:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[lesson3]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[MovieClip]]></category>

		<guid isPermaLink="false">http://www.addchild.net/?p=309</guid>
		<description><![CDATA[カスタムクラスを使ってステージにムービークリップを配置

いままでは、タイムライン上（flaファイル）に直接アクションスクリプトを記述してきましたが、今回はasファイル（カスタムクラス）を使って外部からアクションスクリプ [...]]]></description>
			<content:encoded><![CDATA[<h3>カスタムクラスを使ってステージにムービークリップを配置</h3>
<p>
いままでは、タイムライン上（flaファイル）に直接アクションスクリプトを記述してきましたが、今回はasファイル（カスタムクラス）を使って外部からアクションスクリプトを書いていきます。
</p>
<p>
カスタムクラスを使って外部からアクションスクリプトを書く場合には、いくつかルールがあります。<br />
パッケージ名、クラス名、インスタンスの変数、コンストラクタの定義、メソッドの定義を条件に応じて記述しなくてはなりません。
</p>
<pre class="brush: jscript; auto-links: false;">
//パッケージ名
package {
	//インポートするクラス
	import flash.display.MovieClip;
	import flash.events.Event;
	//クラス定義
	public class asファイル名と同じ {
		//変数の宣言
		//コンストラクタの定義
		//メソッド定義
	}
}
</pre>
<p>
パッケージ名とは、クラスが属するパッケージを示します。<br />
パッケージ名を省略すると、デフォルトパッケージと見なされます。その場合はasファイルはflaファイルと同じ階層に置かなくてはなりません。
</p>
<p>
クラス名とは、クラスの名前ですが、アクションスクリプトでは、このクラス名とasファイル名が同じにする必要があります。
</p>
<p><P><br />
インスタンスの変数とは、クラスで使う変数となりますが、外部のクラスから変数にプロパティとしてアクセスするには、publicを指定しなくてなりません。<br />
</P></p>
<p>
コンストラクタの定義とは、実行させたいプログラムを動かす為の定義となります。<br />
これもインスタンスの変数と同様にpublicが必要になります。
</p>
<p>
メソッドの定義とは、簡単に言うと実行するプウログラム本体になります。
</p>
<p><span id="more-309"></span></p>
<p>
flaファイルのステージ配置したいムービークリップをライブラリーに用意して、リンケージ名を付けます。（今回はBallにしました）<br />
さらにasファイルにアクションスクリプトを書いていきます。
</p>
<pre class="brush: jscript; auto-links: false;">
package {
	// インポート
	import flash.display.MovieClip;
	import flash.events.Event;

	public class Ball extends MovieClip {
		// 変数の宣言
		public var myXspeed:Number = 5; // X軸方向の速度
		public var myCicle:Number = 10;  //ボールの回転

		// コンストラクタの定義
		public function Ball() {
			this.addEventListener(Event.ENTER_FRAME, enterF);
		}

		// メソッドの定義（ボールを動かす関数）
		private function enterF(event:Event):void {
			this.x += myXspeed;
			this.rotation += myCicle;
			if(this.x &lt; 50 || this.x &gt; 500){
				myXspeed *= -1;
				myCicle *= -1;
			}
		}
	}
}
</pre>
<p>
今回は同じ階層にasファイルを置くため、パッケージ名は付けてません。<br />
クラス名を先程リンケージで付けた名前のBallとし、保存するファイル名もBall.asにします。
</p>
<p>
次にflaファイルにBall.asを読み込まして、ムービークリップをステージに配置する為に、タイムラインにアクションスクリプトを書きます。
</p>
<pre class="brush: jscript; auto-links: false;">
// Ballクラスからインスタンスを作る
var ball_mc:Ball = new Ball();
addChild(ball_mc);
ball_mc.x = stage.stageWidth / 2;
ball_mc.y = stage.stageHeight / 2;
</pre>
<p>
ball_mc.xとball_mc.yで初期表示位置を指定しています。
</p>
<p>
ムービークリップの動きは[1-5]同じになりますが、アクションスクリプトは外部から読み込んだ状態になっています。
</p>
<div id="flash">
カクタムクラスを使ってステージにムービークリップを配置
</div>
<p><script type="text/javascript">
  swfobject.embedSWF("http://www.addchild.net/fl/3/3-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/286.html" title="クラス参照でステージにムービークリップを配置[3-2] (2009年10月13日)">クラス参照でステージにムービークリップを配置[3-2]</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-beginner/ls2/260.html" title="ムービークリップをボタンとして使う[2-4] (2009年9月13日)">ムービークリップをボタンとして使う[2-4]</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.addchild.net/as3-beginner/ls3/309.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>
		<item>
		<title>クラス参照でステージにムービークリップを配置[3-1]</title>
		<link>http://www.addchild.net/as3-beginner/ls3/297.html</link>
		<comments>http://www.addchild.net/as3-beginner/ls3/297.html#comments</comments>
		<pubDate>Wed, 07 Oct 2009 06:25:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[lesson3]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[MovieClip]]></category>

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

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


new演算子を使ってムービーク [...]]]></description>
			<content:encoded><![CDATA[<h3>クラス（リンケージ）参照でムービークリップを動かす</h3>
<p>
あらかじめライブラリーに表示させたいムービークリップを用意し、プロパティーでリンケージのクラス名を付けます。（例：ball_mc）</p>
<p><img src="http://www.addchild.net/wp-content/uploads/2009/10/3-11.jpg" alt="クラス名を付ける" title="クラス名を付ける" width="402" height="222" class="aligncenter size-full wp-image-302" /></p>
<p>
new演算子を使ってムービークリップballに置き換え、addChildを使ってステージにムービークリップを配置します。
</p>
<pre class="brush: jscript; auto-links: false;">
//ステージに配置
var ball:MovieClip = new ball_mc();
addChild(ball);
ball.x = stage.stageWidth / 2;
ball.y = stage.stageHeight / 2;
</pre>
<p>
初期表示位置（スタート位置）をステージの真ん中に設定しました。
</p>
<p><span id="more-297"></span></p>
<p>
[1-5]で使用した反復運動するアクションスクリプトを使いムービークリップを動かします。
</p>
<pre class="brush: jscript; auto-links: false;">
//ステージに配置
var ball:MovieClip = new ball_mc();
addChild(ball);
ball.x = stage.stageWidth / 2;
ball.y = stage.stageHeight / 2;

var speedx:Number = 5;  //スピード
var cicle:Number = 10;  //回転
var mcWidth:Number = ball.width / 2;  //インスタンスの幅
var stageL:Number = 0 + mcWidth;  //幅の最小値
var stageR:Number = stage.stageWidth - mcWidth;  //幅の最大値

ball.addEventListener(Event.ENTER_FRAME,movieBall);  //イベントリスナー登録

//ballのプログラム関数
function movieBall(event:Event):void {
	ball.x += speedx;
	ball.rotation += cicle;
	if (ball.x &lt; stageL || ball.x &gt; stageR) {
		speedx *= -1;
		cicle *= -1;
	}
}
</pre>
<div id="flash">
クラス（リンケージ）参照でムービークリップを動かす
</div>
<p><script type="text/javascript">
  swfobject.embedSWF("http://www.addchild.net/fl/3/1-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/309.html" title="カスタムクラスでステージにムービークリップを配置[3-3] (2009年10月20日)">カスタムクラスでステージにムービークリップを配置[3-3]</a> (0)</li>
	<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/316.html" title="Tweenクラスでムービークリップをトゥイーンさせる[3-4] (2009年10月29日)">Tweenクラスでムービークリップをトゥイーンさせる[3-4]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/260.html" title="ムービークリップをボタンとして使う[2-4] (2009年9月13日)">ムービークリップをボタンとして使う[2-4]</a> (0)</li>
</ul>

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