メイン コーダーズルーム【スクリプト系】 classの中でのonPress等のイベント | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mooooooog | Åê¹ÆNo.34096 投稿日時: 2007-7-11 20:30 |
新米 居住地: 投稿: 2
使用環境:
WinXP,Flash Pro 8 |
classの中でのonPress等のイベント 最近ようやくclassを作ってスクリプトを全部外部に書くやり方を勉強しつつやりはじめたのですが、いまいち自信がないので質問させてください。
test_mcというMovieClipをattachしてTestClassというClassを適用してるとします。 test_mcの中にbtn_mcというMovieClipを置いてます。 このbtn_mcが押された時に何かの処理をしたいです。 こういう場合どういうふうに書くのがいいのでしょうか。 思いついたのは function init():Void{ this.btn_mc.onPress = function(){ trace("press"); } } という関数をclassの中で実行する。 別途btn_mc用のクラスを作って その中で function onPress(){ trace("press"); } というものなのですが、これがセオリーなのかいまいち自信がありません・・。 よろしくお願いします。 |
ニノミヤ カズノリ | Åê¹ÆNo.34100 投稿日時: 2007-7-11 21:12 |
職人 居住地: 東京 投稿: 430
使用環境:
CS4 .4.11, .5.7 XP Pro(sp3) Flash Player 10,0,22,87, AIR 1.5.1, IE 5.5 & 6 & 7 & 8, Firefox 2.0.0.20 & 3.0.11 & 3.5, Opera 9.64, Safari 4, Google Chrome 2.0.172.31, Netscape 7.1 |
Re: classの中でのonPress等のイベント 初めまして。ニノミヤと申します。
多分これはAS2.0のお話ですよね? test_mcにTestClassというクラスが適用されていて、 test_mc内にbtn_mcが存在するのであれば、 以下のコードで出来ると思います。 class TestClass extends MovieClip { public var btn_mc:MovieClip; //コンストラクタ function Test() { btn_mc.onPress = function() { trace("press"); } } } |
野中文雄 | Åê¹ÆNo.34103 投稿日時: 2007-7-11 21:32 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: classの中でのonPress等のイベント 内容によりけりでしょうね。
btn_mcがTestClassの中でのみ使われるなら前者、btn_mcが単独で使われたり他のクラスで流用されることがあるなら後者にする意味があります。また、btn_mcに定義されるプロパティやメソッドが多く、別のクラスを定義した方が管理しやすいなら後者になるでしょう。 引用: mooooooogさんは書きました: ただ個人的には、クラス内で名前のない関数を設定すると、コールバックの処理が見分けにくいので、名前をつけて定義する場合が多いです。
|
mooooooog | Åê¹ÆNo.34177 投稿日時: 2007-7-17 17:44 |
新米 居住地: 投稿: 2
使用環境:
WinXP,Flash Pro 8 |
Re: classの中でのonPress等のイベント ニノミヤ カズノリ様
野中様 ご返信ありがとうございます。 私が思いついたもの以外に、コンストラクタに書く手もあったのですね。 確かに無名の関数だとわかりにくいですね。 大変参考になりました。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |