メイン FLASH目安箱【バグ報告・要望】 変数名にメソッド名やプロパティ名(予約語)が含まれてたらアウト? | 投稿するにはまず登録を |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
野中文雄 | Åê¹ÆNo.6781 投稿日時: 2004-4-30 21:52 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 変数名にメソッド名やプロパティ名(予約語)が含まれてたらアウト? それが、onClipEvent (mouseUp)ハンドラの仕様です。MovieClip.duplicateMovieClip()メソッドを使うかどうかには、関わりません。
引用: hanywaさんは書きました: |
hanywa | Åê¹ÆNo.6780 投稿日時: 2004-4-30 21:08 |
新米 居住地: 兵庫 投稿: 10
使用環境:
Win2K,Flash MX2004 |
Re: 変数名にメソッド名やプロパティ名(予約語)が含まれてたらアウト? DepulicateしたMovieClipをonClipEvent(mouseUp)でFunctionを呼ぼうとした際、
自分はクリックしたMovieClipでしかイベントが発生しないと思っていたのですが、 実際にはdepulicateした全MovieClipのonClipEvent(mouseUp)が動作し、 最終的にDepulicate元のMovieClipの値が反映されるため、 そのクリップから値が消えたものだと勘違いしていたようです。 クリックしたセルの名前を確定する事で修正できました。 変数名については・・・本当に凡ミスでここに書くのも恥ずかしいぐらいなのですが、親のswfで該当する変数名を初期化していました。 これとundefinedで混同してしまいました。 本当、お手数をかけてしまい申し訳ありません。 |
ゲスト | Åê¹ÆNo.6774 投稿日時: 2004-4-30 17:31 |
Re: 変数名にメソッド名やプロパティ名(予約語)が含まれてたらアウト? 結局解決なさったのですか?
でしたら参考の為に、何処をどのように修正したのか教えていただくと有り難いのですが、、、。 引用:
|
|
hanywa | Åê¹ÆNo.6772 投稿日時: 2004-4-30 15:21 |
新米 居住地: 兵庫 投稿: 10
使用環境:
Win2K,Flash MX2004 |
Re: 変数名にメソッド名やプロパティ名(予約語)が含まれてたらアウト? 野中文雄さんは書きました:
引用: MovieClip以外のオブジェクト(Soundインスタンス)に定義した関数内では、thisが(Sound)インスタンス自身を参照します。これは、ターゲットを省略したデフォルト参照とは異ります。 ありがとうございます。Soundインスタンス自信を参照するのですね。 引用: MovieClipの名前が変わりましたので、先のポストとはスクリプトも異なってくると思います。 ごめんなさい。ご指摘いただいて自分がDepulicate時の onClipEventの動きについて誤った解釈をしていた事に気が付きました。 お二方、特にマツダ様は検証時間も割いていただいて本当に申し訳ないです。本当にすみませんでした。 |
野中文雄 | Åê¹ÆNo.6770 投稿日時: 2004-4-30 14:26 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 変数名にメソッド名やプロパティ名(予約語)が含まれてたらアウト? 引用:
hanywaさんは書きました: いつどこにどのようなtrace()ステートメントを記述しているのでしょうか? MovieClipの名前が変わりましたので、先のポストとはスクリプトも異なってくると思います。正しく書替えていなければ、当然undefinedが出力されます。 引用: これで動かすとTraceに |
野中文雄 | Åê¹ÆNo.6769 投稿日時: 2004-4-30 14:16 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 変数名にメソッド名やプロパティ名(予約語)が含まれてたらアウト? MovieClip以外のオブジェクト(Soundインスタンス)に定義した関数内では、thisが(Sound)インスタンス自身を参照します。これは、ターゲットを省略したデフォルト参照とは異ります。
引用: hanywaさんは書きました: |
hanywa | Åê¹ÆNo.6766 投稿日時: 2004-4-30 13:49 |
新米 居住地: 兵庫 投稿: 10
使用環境:
Win2K,Flash MX2004 |
Re: 変数名にメソッド名やプロパティ名(予約語)が含まれてたらアウト? 引用:
未だにeval()の使い方がよくわかっていません。悪戦苦闘中です。 「迷える子羊の部屋」に行きたい気分です。 それに便乗して動作に関係ないところなのですが、 私が前に転載したFunctionのうちonSoundComplete付近のTraceで
と入れたらonSoundComplete内の trace(this[CName].goD); だけundefinedになってしまい頭が???状態です。 _root指定は今作っているムービーの性質上使えないので 相対パスに頼るしかないのですが・・・ |
hanywa | Åê¹ÆNo.6761 投稿日時: 2004-4-30 13:35 |
新米 居住地: 兵庫 投稿: 10
使用環境:
Win2K,Flash MX2004 |
Re: 変数名にメソッド名やプロパティ名(予約語)が含まれてたらアウト? 検証してくださってありがとうございます。
確かにこのスクリプトでは問題なく動いています。 このスクリプトを元に、テストをしてみました。 まず、今自分が作っているものですが、クリックするMCは Depulicateして使うので、Depulicate元のMCに
_rootにあるFunctionの街頭部はコメントアウトします
これで動かしてもTraceの結果は同じです。 次にDepulicateで今のMCの名前を"Myz_mc"にし、_rootのFunctionに Depulicateする一文を書き加えます。
これで動かすとTraceに
と表示されます。 これだと変数名を"goD"に変えても同じ結果なんで、 私が行き詰まっている現象と異なるのですが、このような事になりました。 私のDepulicateの使い方がおかしいのでしょうか。 |
ゲスト | Åê¹ÆNo.6718 投稿日時: 2004-4-28 23:38 |
Re: 変数名にメソッド名やプロパティ名(予約語)が含まれてたらアウト? やはりそのような不都合は確認されません。
怪しいのはインスタンス参照にeval()を使っている所です。eval()はスコープチェーンを辿るという点で配列アクセスと異なります。 おそらく一部割愛した部分に原因があると思います。配列アクセスでインスタンス参照をしてみたり、デバッガでコードを辿ったりしてみてはいかがでしょう。 以下、実行コード。
|
|
hanywa | Åê¹ÆNo.6717 投稿日時: 2004-4-28 21:56 |
新米 居住地: 兵庫 投稿: 10
使用環境:
Win2K,Flash MX2004 |
Re: 変数名にメソッド名やプロパティ名(予約語)が含まれてたらアウト? 「予約語」は付け焼刃な知識で書いたため間違えていたと思います。
申し訳ないです。 関連するスクリプト自体はかなりの量があり全部乗せるのは無理なので 呼び出し部分とFunctionの部分を一部割愛した状態でよいでしょうか。
これでmoveDのところをgoDにするとtraceで取れているのですが、 このままだと2回目(onSoundComplete後)のtraceで取れなくなっています。 いまためしに"moveD"を"Dmove"に変えたところ問題なく動きました。 "move"+"D"の場合が問題なようです。 |
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |