メイン コーダーズルーム【スクリプト系】 onEnterFrameの動作 | 投稿するにはまず登録を |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
Duke15 | Åê¹ÆNo.25865 投稿日時: 2006-6-1 18:38 |
常連 居住地: 埼玉 投稿: 196
使用環境:
XPpro,2Kpro, MX2004prov7.2 FlashPro8 Flash9Preview α Player8r24 Player9.0.16 Player7r63 Firefox1.5.0.5 IE6,NB8.1en |
Re: onEnterFrameの動作 野中さん、ありがとう御座います。
1フレでの記述で疑問なことがスッキリしてきました。 これ自分にとっては重要なこととして参考にさせてもらいます。 引用:
|
野中文雄 | Åê¹ÆNo.25863 投稿日時: 2006-6-1 11:59 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: onEnterFrameの動作 「以下の2つ」の書き方については、多分に趣味の問題で、どちらでも結構だと思います。
引用: Duke15さんは書きました: もっとも、無名関数で定義せず、通常の関数定義を行った方がよいと考えられる場合は、ふたつあります。 [1]複数のインスタンスに同じ内容の関数を定義する場合 以下のMovieClip.onEnterFrameイベントハンドラメソッドが、まさにその場合です。
もし、このイベントハンドラメソッドを無名関数で定義すると、functionオブジェクトは、xSetAnimation()関数を呼出しすたびに、引数に渡したMovieClipインスタンスの数分だけ作成されてしまいます。 上記のMovieClip.onEnterFrameイベントハンドラメソッドの定義なら、各MovieClipインスタンスには関数boundの参照が設定されるだけですので、メモリの効率として有利です。
[2]同じ関数を何度も設定する場合 以下のフレームアクションは、クリックでアニメーションを開始して、目的座標まで到達するとMovieClip.onEnterFrameイベントハンドラメソッドをクリアします。 このときもしMovieClip.onEnterFrameを無名関数で定義すると、functionを毎回つくり直すことになります。この場合、(処理としてはわずかだとしても)functionオブジェクトを生成する負荷が無駄にかかります。 関数を予め定義しておけば、やはり参照を設定するだけで済みますので、(funcitonを毎度作成するという)無駄な処理を省くことができます。
|
Duke15 | Åê¹ÆNo.25850 投稿日時: 2006-5-31 11:10 |
常連 居住地: 埼玉 投稿: 196
使用環境:
XPpro,2Kpro, MX2004prov7.2 FlashPro8 Flash9Preview α Player8r24 Player9.0.16 Player7r63 Firefox1.5.0.5 IE6,NB8.1en |
Re: onEnterFrameの動作 他のスレでのmitsuruさんの引用ですが、
引用:
まったく、私にも適用されることですね。(汗) ところで、一つ確認したいのですが、 野中さんの書かれた
このコードで引数があるので、 ボタンから動作させる書き方として、 以下の2つ書いてみましたが、 書き方としては、こういった書き方は良くないとかの 指摘が御座いましたら、ご意見をお願いしたいのですが。 よろしくお願いします。 あくまで、メインrootの1フレでの記述方法としてですが。
私個人的には xxx.onRelease = function(){ を使うよりか xxx.onRelease = fffff;の書き方のほうが 直感的に理解し易いと思うのですが・・・。 どうなのでしょう。
|
Duke15 | Åê¹ÆNo.25798 投稿日時: 2006-5-28 21:16 |
常連 居住地: 埼玉 投稿: 196
使用環境:
XPpro,2Kpro, MX2004prov7.2 FlashPro8 Flash9Preview α Player8r24 Player9.0.16 Player7r63 Firefox1.5.0.5 IE6,NB8.1en |
Re: onEnterFrameの動作 ご指摘通り、AS2.0で記述すればいいのかも知れませんが、
もう少し、メイン1フレでの記述で慣れておこうと思いまして、 平行してAS2.0のクラスを使っていくつもりです。 引用:
|
Duke15 | Åê¹ÆNo.25797 投稿日時: 2006-5-28 21:12 |
常連 居住地: 埼玉 投稿: 196
使用環境:
XPpro,2Kpro, MX2004prov7.2 FlashPro8 Flash9Preview α Player8r24 Player9.0.16 Player7r63 Firefox1.5.0.5 IE6,NB8.1en |
Re: onEnterFrameの動作 そうです。タイムライン変数のことです。
過去のFlash5,MXで作成していたため、グローバル変数と 言ってしまいました。 現在は、その変数はタイムライン変数ですね。 引用:
|
野中文雄 | Åê¹ÆNo.25796 投稿日時: 2006-5-28 20:46 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: onEnterFrameの動作 細かいことですけど、念のため。
youichさんが「タイムライングローバルな変数」といういい方をされているのは、ActionScriptの用語でいう「グローバル変数」(_global)ではなく、共通に参照される(_level0の)タイムライン変数という意味でしょう。 引用: Duke15さんは書きました: 私は個人的には、MovieClipシンボル内の第1フレームアクションに設定しますね。それだと見とおしが悪くなるということでしたら、ActionScript 2.0でクラス定義をすればかなりすっきりします。 引用: 無理にメインタイムラインの1フレでの記述に固執することは
|
Duke15 | Åê¹ÆNo.25794 投稿日時: 2006-5-28 20:32 |
常連 居住地: 埼玉 投稿: 196
使用環境:
XPpro,2Kpro, MX2004prov7.2 FlashPro8 Flash9Preview α Player8r24 Player9.0.16 Player7r63 Firefox1.5.0.5 IE6,NB8.1en |
Re: onEnterFrameの動作 ひろゆきさんあ、野中さん、
毎度、有り難うございます。 マルチレスですみません。 ひろゆきさん、野中さんが指摘の変数のデバックで youichさんのご指摘通りグローバル変数になっていると 理解はしたのですが、関数内で使うときの変数値の 持って来方がどうもあやふやだったものでした。 無理にメインタイムラインの1フレでの記述に固執することは 無いのかと思いますが、この記述方法で今後やっていこうと 思いましたので、いろいろ混乱してます。 これからもよろしくお願いします。 引用:
引用:
|
野中文雄 | Åê¹ÆNo.25791 投稿日時: 2006-5-28 20:02 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: onEnterFrameの動作 [デバッグ] > [変数のリストアップ]で、変数の設定タイムラインと、その意味を理解される必要があると思われます。
引用: Duke15さんは書きました: [変数のリストアップ]より引用: ムービークリップ: ターゲット="_level0.ball1_mc" 引用:
[変数のリストアップ]より引用: 変数 _level0.speed = -1 引用: しかし、以下のコードのように、 タイムラインに記述したフレームアクションでも、同じ処理が行われれば、同じ動作になります。
|
ひろゆき | Åê¹ÆNo.25787 投稿日時: 2006-5-28 19:41 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: onEnterFrameの動作 speed がタイムライン変数になっているので、
その値を引き継いでしまうようになっているのではないでしょうか? #おそらく、youichさんが指摘されていることと同じようなことかと。 なので、speed を各ムービークリップに持たせて、
他にも方法がありそうですが。
|
Duke15 | Åê¹ÆNo.25785 投稿日時: 2006-5-28 18:56 |
常連 居住地: 埼玉 投稿: 196
使用環境:
XPpro,2Kpro, MX2004prov7.2 FlashPro8 Flash9Preview α Player8r24 Player9.0.16 Player7r63 Firefox1.5.0.5 IE6,NB8.1en |
Re: onEnterFrameの動作 この関係で更に以下のコードを試しました。
すると、ちゃんと同時動作します。 しかし、以下のコードのように、 _rootの1フレに記述した場合では同時動作になりません。 このように1フレでも同時動作は、 どう記述すれば同時動作するのでしょうか?
引用:
|
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |