トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     ActionScript 3.0ではどう書くの?
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
Fumio
Åê¹ÆNo.27179
投稿日時: 2006-7-22 11:45
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
Re: ActionScript 3.0ではどう書くの?
お題:「イベントハンドラメソッドMovieClip.onReleaseは、ActionScript 3.0ではどう書く?」

まず、これまでの書き方です。

■ActionScript 2.0の場合
// メインタイムライン
// フレームアクション
// MovieClipインスタンスmy_mcを配置
var my_mc:MovieClip;
my_mc.onRelease = function():Void {
	trace(this);  // 出力: _level0.my_mc
};

ActionScript 3.0では、MovieClipインスタンスに直接イベントハンドラを設定することはできません。イベントリスナーを、使う必要があります。考え方は、バージョン2アーキテクチャ(ActionScript 2.0)のコンポーネントと似ています。なお、「ActionScript 3.0書き方教室」をご参照ください。

■ActionScript 3.0定義済みクラスを使った場合
// メインタイムライン
// フレームアクション
// MovieClipインスタンスmy_mcを配置
// [0]本来は必要。ただし、タイムラインでは省略可
// import flash.display.MovieClip;
// import flash.events.MouseEvent;
// [1]イベントリスナーの登録
my_mc.addEventListener("click", click);
// [2]リスナー関数の定義
function click(eventObject:MouseEvent):void {
	trace(eventObject.type, this.name);  // Output: click my_mc
}

もっとも、クラスを定義すれば、インスタンスに対してonReleaseハンドラを設定することは、できないこともありません。

■ActionScript 3.0クラス定義を行った場合
// ActionScript 3.0クラス定義: MyButton.as
package {
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	public class MyButton extends MovieClip {
		var onRelease:Function = function (){};
		function MyButton() {
			addEventListener(MouseEvent.CLICK, click);
		}
		function click(eventObject:MouseEvent):void {
			onRelease(eventObject);
		}
	}
}

// メインタイムライン
// フレームアクション
// MovieClipインスタンスmy_mcを配置
// my_mcのシンボルには[Class]としてMyButtonを設定
my_mc.onRelease = function (eventObject:MouseEvent):void {
	trace(eventObject.type, this.name);  // Output: click my_mc
}


----------------
 

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   ActionScript 3.0ではどう書くの? Fumio 2006-7-22 11:42
   » Re: ActionScript 3.0ではどう書くの? Fumio 2006-7-22 11:45
       Re: ActionScript 3.0ではどう書くの? ymori 2006-7-22 12:33
         Re: ActionScript 3.0ではどう書くの? kahiro 2006-7-22 13:36
       Re: ActionScript 3.0ではどう書くの? rindo 2006-7-22 17:45
         Re: ActionScript 3.0ではどう書くの? Fumio 2006-7-22 18:43
           Re: ActionScript 3.0ではどう書くの? rindo 2006-7-22 18:57
           Re: ActionScript 3.0ではどう書くの? rindo 2006-7-30 14:04
             Re: ActionScript 3.0ではどう書くの? Fumio 2006-7-30 20:47
               Re: ActionScript 3.0ではどう書くの? rindo 2006-7-30 21:19
     Re: ActionScript 3.0ではどう書くの? Fumio 2006-10-7 23:23
       Re: ActionScript 3.0ではどう書くの? shikada 2006-11-15 17:14
         Re: ActionScript 3.0ではどう書くの? Fumio 2006-11-15 23:39
           Re: ActionScript 3.0ではどう書くの? shikada 2006-11-16 9:35

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops