<?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>Mops &#187; ActionScript</title>
	<atom:link href="http://www.mops.jp/archives/tag/actionscript/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mops.jp</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 31 Mar 2010 11:57:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>キーボードイベント基本</title>
		<link>http://www.mops.jp/archives/259.html</link>
		<comments>http://www.mops.jp/archives/259.html#comments</comments>
		<pubDate>Wed, 31 Mar 2010 11:57:46 +0000</pubDate>
		<dc:creator>mops</dc:creator>
				<category><![CDATA[Flashのお勉強]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.mops.jp/?p=259</guid>
		<description><![CDATA[キーボード操作でイベントが発生するキーボードイベントではどのキーが押されたかをKeyboardプロパティでチェックしたうえで、リスナー関数でイベントを設定します。 インスタンスにフォーカスされていない時でもイベントを受けるにはステージそのものにイベントリスナーを登録しておきます。 下のサンプルの左右反転はscaleX = -1;で可能です。 var speed:int = 3;//スピード //イベントリスナー登録 this.stage.addEventListener(KeyboardEvent.KEY_DOWN,moveCar); //リスナー関数 function moveCar(event:KeyboardEvent):void { 　switch (event.keyCode) { 　　case Keyboard.LEFT : 　　　myCar_mc.scaleX = 1; 　　　myCar_mc.x -= speed; 　　　break; 　　case Keyboard.RIGHT : 　　　myCar_mc.scaleX = -1; 　　　myCar_mc.x += speed; 　　　break; 　　} } ↓一度画面をクリックしてアクティブにして御覧下さい。]]></description>
			<content:encoded><![CDATA[<p>キーボード操作でイベントが発生するキーボードイベントではどのキーが押されたかをKeyboardプロパティでチェックしたうえで、リスナー関数でイベントを設定します。</p>
<p>インスタンスにフォーカスされていない時でもイベントを受けるにはステージそのものにイベントリスナーを登録しておきます。</p>
<p>下のサンプルの左右反転はscaleX = -1;で可能です。</p>
<pre>var speed:int = 3;//スピード

//イベントリスナー登録
this.stage.addEventListener(<strong>KeyboardEvent.KEY_DOWN</strong>,moveCar);

//リスナー関数
function moveCar(event:KeyboardEvent):void {
　switch (event.<strong>keyCode</strong>) {
　　case <strong>Keyboard.LEFT</strong> :
　　　myCar_mc.scaleX = 1;
　　　myCar_mc.x -= speed;
　　　break;
　　case <strong>Keyboard.RIGHT</strong> :
　　　myCar_mc.scaleX = -1;
　　　myCar_mc.x += speed;
　　　break;
　　}
}</pre>
<p>↓一度画面をクリックしてアクティブにして御覧下さい。</p>
<p>
<object width="500" height="80">
<param name="movie" value="http://www.mops.jp/wp-content/uploads/car.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#ffffff"></param>
<embed type="application/x-shockwave-flash" width="500" height="80" src="http://www.mops.jp/wp-content/uploads/car.swf" quality="high" bgcolor="#ffffff" wmode="window" menu="false" ></embed>
</object>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mops.jp/archives/259.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>コンポーネントを使ったボタン（Button）</title>
		<link>http://www.mops.jp/archives/253.html</link>
		<comments>http://www.mops.jp/archives/253.html#comments</comments>
		<pubDate>Thu, 18 Feb 2010 15:49:21 +0000</pubDate>
		<dc:creator>mops</dc:creator>
				<category><![CDATA[Flashのお勉強]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.mops.jp/?p=253</guid>
		<description><![CDATA[実制作では直接使うことはほとんどないと思いますが、応用はできる気がするのでコンポーネントを利用したボタンを作ってみました。 ボタンコンポーネントはウィンドウ→コンポーネント→UserInterface→Buttonをstageまでドラッグし、パラメータでlabelの変更（ここではPhoto01とPhoto02）を行ないます。 それぞれにインスタンス名btn01、btn02をつけ、ASでイベントを設定。今回はswitch文でボタンlabelで条件分岐してます。 stop(); 　//イベントリスナ 　btn01.addEventListener(MouseEvent.CLICK,movePhoto); 　btn02.addEventListener(MouseEvent.CLICK,movePhoto); 　function movePhoto(event:MouseEvent):void { 　　//ボタンラべルでフレームを移動 　　switch (event.currentTarget.label) { 　　case "Photo01" : 　　　gotoAndStop("ph01"); 　　　break; 　　　case "Photo02" : 　　　gotoAndStop("ph02"); 　　　break; 　　} }]]></description>
			<content:encoded><![CDATA[<p>実制作では直接使うことはほとんどないと思いますが、応用はできる気がするのでコンポーネントを利用したボタンを作ってみました。</p>
<p>ボタンコンポーネントはウィンドウ→コンポーネント→UserInterface→Buttonをstageまでドラッグし、パラメータでlabelの変更（ここではPhoto01とPhoto02）を行ないます。</p>
<p>それぞれにインスタンス名btn01、btn02をつけ、ASでイベントを設定。今回はswitch文でボタンlabelで条件分岐してます。</p>
<p><img class="alignnone size-full wp-image-256" src="http://www.mops.jp/wp-content/uploads/100218.jpg" alt="" width="519" height="141" /></p>
<pre>stop();

　//イベントリスナ
　btn01.addEventListener(MouseEvent.CLICK,movePhoto);
　btn02.addEventListener(MouseEvent.CLICK,movePhoto);

　function movePhoto(event:MouseEvent):void {

　　//ボタンラべルでフレームを移動
　　switch (event.currentTarget.label) {

　　case "<strong>Photo01</strong>" :
　　　gotoAndStop("<strong>ph01</strong>");
　　　break;

　　　case "<strong>Photo02</strong>" :
　　　gotoAndStop("<strong>ph02</strong>");
　　　break;
　　}
}
</pre>
<p>
<object width="520" height="400">
<param name="movie" value="http://www.mops.jp/wp-content/uploads/switch.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#ffffff"></param>
<embed type="application/x-shockwave-flash" width="520" height="400" src="http://www.mops.jp/wp-content/uploads/switch.swf" quality="high" bgcolor="#ffffff" wmode="window" menu="false" ></embed>
</object>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mops.jp/archives/253.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>マウスに追従するSprite</title>
		<link>http://www.mops.jp/archives/246.html</link>
		<comments>http://www.mops.jp/archives/246.html#comments</comments>
		<pubDate>Tue, 16 Feb 2010 14:34:49 +0000</pubDate>
		<dc:creator>mops</dc:creator>
				<category><![CDATA[Flashのお勉強]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.mops.jp/?p=246</guid>
		<description><![CDATA[円のローカル座標とマウスの位置関係から。 //半径10pxの黒丸を描写 var circle:Sprite = new Sprite(); circle.graphics.beginFill(0x000000); circle.graphics.drawCircle(15,20,10); addChild(circle); var cx:int; var cy:int; //マウスの後を追いかける（マウスとローカル座標の距離を詰める） circle.addEventListener(Event.ENTER_FRAME, moveCircle); 　function moveCircle(event:Event):void { 　　cx = circle.mouseX; 　　cx = circle.mouseY; 　　circle.x += cx/5; 　　circle.y += cy/5; }]]></description>
			<content:encoded><![CDATA[<p>
<object width="520" height="300">
<param name="movie" value="http://www.mops.jp/wp-content/uploads/move_circle.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#ffffff"></param>
<embed type="application/x-shockwave-flash" width="520" height="300" src="http://www.mops.jp/wp-content/uploads/move_circle.swf" quality="high" bgcolor="#ffffff" wmode="window" menu="false" ></embed>
</object>
</p>
<p>円のローカル座標とマウスの位置関係から。</p>
<pre>//半径10pxの黒丸を描写
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0x000000);
circle.graphics.drawCircle(15,20,10);
addChild(circle);

var cx:int;
var cy:int;

//マウスの後を追いかける（マウスとローカル座標の距離を詰める）
circle.addEventListener(Event.ENTER_FRAME, moveCircle);

　function moveCircle(event:Event):void {

　　cx = circle.mouseX;
　　cx = circle.mouseY;

　　circle.x += cx/5;
　　circle.y += cy/5;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mops.jp/archives/246.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>addChildでライブラリから呼び出す</title>
		<link>http://www.mops.jp/archives/230.html</link>
		<comments>http://www.mops.jp/archives/230.html#comments</comments>
		<pubDate>Mon, 15 Feb 2010 17:21:45 +0000</pubDate>
		<dc:creator>mops</dc:creator>
				<category><![CDATA[Flashのお勉強]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.mops.jp/?p=230</guid>
		<description><![CDATA[ライブラリのムービークリップを右クリックしてプロパティ（リンケージプロパティ）を選択後、任意のクラス名を指定する。 _mcというムービークリップを新しく作り、addChildでステージに配置します。呼び出しはnew + 上記で指定したクラス名。 下の例では配置したムービークリップを左から右へ移動させ、右側に消えると最初の位置に戻るようにしています。 （入れ子でムービークリップ自体もフェードアウトリピート（省略）） //オブジェクトをインスタンス化 var _mc:MovieClip = new Ghost(); addChild(_mc); //配置位置 _mc.x = -40; _mc.y = 150; //インスタンスの移動 _mc.addEventListener(Event.ENTER_FRAME,doSlide); function doSlide(event:Event) { 　　//移動スピード 　　_mc.x += 8; 　　//右に完全に消えると最初の位置に戻る 　　if (_mc.x &#62;= 648) { 　　　　_mc.x = -40; 　　　　} } ※「648」はインスタンスの横サイズ526pxの半分（128px）にステージのサイズ520pxを加算したもの。（基準点が中心のため）]]></description>
			<content:encoded><![CDATA[<p>ライブラリのムービークリップを右クリックしてプロパティ（リンケージプロパティ）を選択後、任意のクラス名を指定する。</p>
<p><img class="alignnone size-full wp-image-231" src="http://www.mops.jp/wp-content/uploads/100216a.jpg" alt="" width="457" height="243" /></p>
<p>_mcというムービークリップを新しく作り、addChildでステージに配置します。呼び出しはnew + 上記で指定したクラス名。</p>
<p>下の例では配置したムービークリップを左から右へ移動させ、右側に消えると最初の位置に戻るようにしています。</p>
<p>（入れ子でムービークリップ自体もフェードアウトリピート（省略））</p>
<pre>//オブジェクトをインスタンス化
var _mc:MovieClip = <strong>new Ghost();</strong>
<strong>addChild(_mc);</strong>

//配置位置
_mc.x = -40;
_mc.y = 150;

//インスタンスの移動
_mc.addEventListener(Event.ENTER_FRAME,doSlide);

function doSlide(event:Event) {

　　//移動スピード
　　_mc.x += 8;

　　//右に完全に消えると最初の位置に戻る
　　if (_mc.x &gt;= 648) {
　　　　_mc.x = -40;
　　　　}
}
</pre>
<p>※「648」はインスタンスの横サイズ526pxの半分（128px）にステージのサイズ520pxを加算したもの。（基準点が中心のため）</p>
<p>
<object width="520" height="300">
<param name="movie" value="http://www.mops.jp/wp-content/uploads/100216.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#ffffff"></param>
<embed type="application/x-shockwave-flash" width="520" height="300" src="http://www.mops.jp/wp-content/uploads/100216.swf" quality="high" bgcolor="#ffffff" wmode="window" menu="false" ></embed>
</object>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mops.jp/archives/230.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>カスタムクラスを作る</title>
		<link>http://www.mops.jp/archives/222.html</link>
		<comments>http://www.mops.jp/archives/222.html#comments</comments>
		<pubDate>Wed, 27 Jan 2010 14:33:06 +0000</pubDate>
		<dc:creator>mops</dc:creator>
				<category><![CDATA[Flashのお勉強]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.mops.jp/?p=222</guid>
		<description><![CDATA[外部ASファイルとしてクラスを作成して、newで呼び出すことでオブジェクトを生成できる。また元々あるMovieClipクラスなどの機能を継承（extends）して、新たな機能を持つカスタムクラスを作ることも可能。 パーツをそれぞれの下請け工場で作って、本社工場でそれらを組み立てて自動車として完成させるイメージでいいのかな？ 書き方としてpackageでまとめて、public記述で外部から参照できるクラス・メソッドを作る。 下の例ではMovieClipクラスを元にmyMovieClipというカスタムクラスを作ることで、flaファイルの方でnew→addChildすると楕円（Ellipse）が描かれます。 ▼myMovieClip.as package { 　　import flash.display.MovieClip; 　　　　public class myMovieClip extends MovieClip { 　　　　public function myMovieClip() { 　　　　this.graphics.lineStyle(10,0x000000); 　　　　this.graphics.beginFill(0xcccccc); 　　　　this.graphics.drawEllipse(100,100,300,150); 　　　　} 　　} } ▼.fla var doImg:myMovieClip = new myMovieClip(); addChild(doImg);]]></description>
			<content:encoded><![CDATA[<p>外部ASファイルとしてクラスを作成して、newで呼び出すことでオブジェクトを生成できる。また元々あるMovieClipクラスなどの機能を継承（extends）して、新たな機能を持つカスタムクラスを作ることも可能。</p>
<p>パーツをそれぞれの下請け工場で作って、本社工場でそれらを組み立てて自動車として完成させるイメージでいいのかな？</p>
<p>書き方としてpackageでまとめて、public記述で外部から参照できるクラス・メソッドを作る。</p>
<p>下の例ではMovieClipクラスを元に<strong>myMovieClip</strong>というカスタムクラスを作ることで、flaファイルの方でnew→addChildすると楕円（Ellipse）が描かれます。</p>
<p>▼myMovieClip.as</p>
<pre>package {
　　import flash.display.MovieClip;

　　　　public class <strong>myMovieClip</strong> extends MovieClip {

　　　　public function <strong>myMovieClip()</strong> {

　　　　this.graphics.lineStyle(10,0x000000);
　　　　this.graphics.beginFill(0xcccccc);
　　　　this.graphics.drawEllipse(100,100,300,150);
　　　　}
　　}
}
</pre>
<p>▼.fla</p>
<pre>var doImg:<strong>myMovieClip</strong> = new <strong>myMovieClip()</strong>;
addChild(doImg);</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mops.jp/archives/222.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
