メイン ActionScript 3.0 特設会議室
カスタム関数引数に、e.targetを適用した際のエラーに関して | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| joyko | Åê¹ÆNo.42772 投稿日時: 2009-7-2 17:32 |
常連 ![]() ![]() 居住地: 埼玉県 投稿: 167
使用環境:
WinXP(SP3) Flash8 Basic FlashCS3Flash CS4 |
カスタム関数引数に、e.targetを適用した際のエラーに関して 皆さん、
いつもお世話になってます。 まだ、AS2.0を引きずっており、AS3.0は勉強途中の身です。 環境は、WinXP(SP3)とCS3/AS3.0です。 【やろうとしてること】 1.ライブラリー内にあるクラス名Sikakuをnew演算子でステージに、for文を使って、10個ほど、ランダムに配置し、 それぞれに一回目にロールオーバーすると、動き出し、二回目にロールオーバーすると、停止する。 その際、他のインスタンスの動きには、影響を与えない、独立事象とする。 【実施したこと】 AS2.0で、attachMovie();を使って、作成してみましたが、意図通り動きます。 以下が、gaienboyさんに教えて頂いた方法で、訂正したAS3.0です。正常稼動します!gaienboyさん、ありがとうございました! |
| Tonpoo (gaienboy改め) | Åê¹ÆNo.42776 投稿日時: 2009-7-2 18:53 |
職人 ![]() ![]() 居住地: 東京・神宮前 投稿: 717
使用環境:
Windows 7 Professional, Flash CS5 Pro,Flash Player 10,1,102,64 |
Re: カスタム関数引数に、e.targetを適用した際のエラーに関して gaienboyです。上記でエラーが出る原因についてですが、MouseEvent.targetプ
ロパティやEvent.targetプロパティの型がObjectであるためです。 Eventクラス:targetプロパティ joykoさんのスクリプトでは、e.targetが指しているもの(sikaku)は MovieClipインスタンスです。ただ、e.targetそのものの型がObjectであるため、 xMoveファンクションの引数としてMovieClipインスタンスを指定しなければなら ないところにObjectインスタンスを指定したことになり、結果としてエラーが出 てしまう、ということになります。 エラー回避の方法ですが、as演算子やクラス関数を使ってデータ型の変換(キャ スト)という処理を行うと可能です。 なお、joykoさんのスクリプトでは、for文の中でxRollOverというファンクション が定義されてしまっています。このファンクション自体は10回も定義しなくてい いので(笑)、for文から外してみてはどうでしょうか。 下記に、私なりのやり方で書いてみたスクリプトを掲載してみます。参考になさっ てみてください。 【追記】 今思ったんですけど、上記のスクリプト、xMoveをイベントリスナーにしてしま ったので、引数としてMovieClip型が要求されているかどうかは関係なくなってし まいましたね(汗)。元のjoykoさんのスクリプトの中でキャストを行うならば、 となっているところを、 もしくは、 とすればいいかと思います。
|
| joyko | Åê¹ÆNo.42782 投稿日時: 2009-7-3 0:56 |
常連 ![]() ![]() 居住地: 埼玉県 投稿: 167
使用環境:
WinXP(SP3) Flash8 Basic FlashCS3Flash CS4 |
Re: カスタム関数引数に、e.targetを適用した際のエラーに関して gaienboyさん、
またまた、早速のご教授、ありがとうございました! >as演算子やクラス関数を使ってデータ型の変換(キャ スト)という処理を行うと可能です。 >for文から外してみてはどうでしょうか。 この2つを行いましたら、正常稼動いたしました! gaienboyさんのscriptも勉強させて頂きます! |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



ログイン


WinXP(SP3)
Flash8 Basic
FlashCS3

Tonpoo (a.k.a. gaienboy)
