![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
balance | Åê¹ÆNo.33166 投稿日時: 2007-4-25 16:19 |
半人前 ![]() ![]() 居住地: 投稿: 31
使用環境:
win XP , Flash8 |
prototypeを使ってプロパティを追加したい Fuse Kit のように、ムービークリップにプロパティを追加したいと思い、
下記のコードを書きました。 _rootにムービークリップを作成、そのムービークリップの第一フレームに記述。 MovieClip.prototype.vol = 100; MovieClip.prototype.setVol = function(num:Number):Void { this.vol = num; }; MovieClip.prototype.getVol = function():Number { return this.vol; }; MovieClip.prototype.addProperty("vol", MovieClip.prototype.getVol , MovieClip.prototype.setVol); this.vol = 300; trace(this.vol) //結果100; 新しく『vol』というプロパティは出来たようですが、 this.vol = 300; と代入しているのに、初期値の100のままです。 この方法ではプロパティを書き換える事は出来ないのでしょうか。 宜しくお願いします。 |
野中文雄 | Åê¹ÆNo.33172 投稿日時: 2007-4-25 19:55 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
![]() ![]() ![]() |
Re: prototypeを使ってプロパティを追加したい getter/setterプロパティの名前と内部的なプロパティ名を同じにしたら、getter/setterメソッド内からまたgetter/setterメソッドにアクセスしてしまいます。
![]() 引用: balanceさんは書きました: |
balance | Åê¹ÆNo.33175 投稿日時: 2007-4-25 23:39 |
半人前 ![]() ![]() 居住地: 投稿: 31
使用環境:
win XP , Flash8 |
Re: prototypeを使ってプロパティを追加したい 野中さん
有難う御座います! getter/setterプロパティの根本的な仕組みを理解していませんでした。 おかげで正確に理解することが出来ました。 今度はClassを使って試してみました。
setメソッドの中で_xscaleに代入しているのですが、 _xscaleの値は変わりません。 先程の質問のやりかたで、下記のように
とすると上手く動作したのですが…。 クラスで継承するやり方では違ってくるのでしょうか。 宜しくお願いします。 |
野中文雄 | Åê¹ÆNo.33176 投稿日時: 2007-4-26 0:54 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
![]() ![]() ![]() |
Re: prototypeを使ってプロパティを追加したい メインタイムライン_rootは、MovieClipインスタンスで、ExtendPropクラスのインスタンスではないからです。ActionScript 1.0のクラスであれば、つぎのような記述と同じです(「ActionScript 2.0と1.0の継承について」参照)。
クラスExtendPropをMovieClipシンボルの[AS 2.0クラス]に設定すれば、そのインスタンスの継承したMovieClip._xscaleプロパティは_scaleプロパティにより変更されるようになります(「ActionScriptどこに書く? ? MXスタイルからAS2.0まで」の「5. ActionScript 2.0」の項参照)。 ![]() なお、ActionScript 2.0では、メインタイムラインのクラスを変えることはできません。 引用: balanceさんは書きました: |
balance | Åê¹ÆNo.33178 投稿日時: 2007-4-26 19:39 |
半人前 ![]() ![]() 居住地: 投稿: 31
使用環境:
win XP , Flash8 |
Re: prototypeを使ってプロパティを追加したい 野中さん
なるほど! よくわかりました。 恥ずかしながら、 「.flaと同階層(トップレベル)にあるクラスはimport不要」 という事も知りませんでした。 こちらも勉強になりました。 何度も有難うございました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |