メイン 迷える子羊の部屋【初心者専用】 外部画像を読み込んだら順次フェードインするには | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ひろゆき | Åê¹ÆNo.35339 投稿日時: 2007-10-1 1:48 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 外部画像を読み込んだら順次フェードインするには すでに、野中さんが書かれていると思いますが。
引用: ローカル変数がタイムライン変数より先に参照されるためです。
「スコープチェーンって何?」
|
野中文雄 | Åê¹ÆNo.35340 投稿日時: 2007-10-1 1:53 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 外部画像を読み込んだら順次フェードインするには 前の回答に引用したテスト用スクリプトは、試してご覧になりましたか?「参照がない場合、ローカル変数がタイムライン変数より先に参照され」ます。
「参照がある」というのは、変数の識別子の前にthisなりインスタンスなりをターゲットとして指定することを意味します。trace()関数の引数に指定されている変数には、つまり参照がありません。 引用: TJFORDさんは書きました: |
TJFORD | Åê¹ÆNo.35341 投稿日時: 2007-10-1 2:05 |
半人前 居住地: Tokyo 投稿: 42
使用環境:
:Flash CS3 |
Re: 外部画像を読み込んだら順次フェードインするには ひろゆきさん 野中さん
ご返信ありがとうございます。 日本語を誤解していました。 「参照がない場合」というのをタイムライン変数「whereAmI」がないということだと思ってしまっていました。 以下のように記述すると「time line」を返すのですがなぜですか バカな質問ばかりでたいへん申し訳ございません ???????????????????????????? this.my_btn.onPress = function():Void { var whereAmI:String = "local"; whereAmI = "time line"; trace(whereAmI); }; ???????????????????????????? |
野中文雄 | Åê¹ÆNo.35342 投稿日時: 2007-10-1 2:16 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 外部画像を読み込んだら順次フェードインするには 「参照」の原則は、取得時だけでなく、設定時にも当てはまります。変数whereAmIに「参照がない」のでローカル変数を対象として、"time line"という値が設定されるからです。
引用: TJFORDさんは書きました: |
ひろゆき | Åê¹ÆNo.35343 投稿日時: 2007-10-1 5:10 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 外部画像を読み込んだら順次フェードインするには
ひょっとして、 var がついているものがローカル変数で、 var がついていないものがタイムライン変数だと、 勘違いされていませんか? ヘルプより 引用: var ステートメント
|
TJFORD | Åê¹ÆNo.35344 投稿日時: 2007-10-1 9:32 |
半人前 居住地: Tokyo 投稿: 42
使用環境:
:Flash CS3 |
Re: 外部画像を読み込んだら順次フェードインするには 野中さん ひろゆきさん
ご返信ありがとうございました。 まずひろゆきさんの言われるとおり勘違いしておりました。 引用: ひょっとして、 現在の自分の頭の中ではこのようになっています。 // メインのタイムラインのフレームアクション _global.whereAmI = "In the global scope"; function xTest() { trace(whereAmI); whereAmI = "In the timeline"; trace(whereAmI);←デフォルト参照はメインのタイムラインのため「In the timeline」を返す。 var whereAmI = "In the local scope"; trace(whereAmI);←参照なし(デフォルト参照)の場合はローカル変数を先に参照するため「In the local scope」を返す。 trace(this.whereAmI);←「this」はメインのタイムラインを指すので「In the timeline」を返す。(?ここはよくわかりませんが「trace(this);」をfunction内で行ったとき「_level0」が出力されたので_level0、つまりメインのタイムラインの変数である「In the timeline」が返されると解釈しています。) } xTest(); いかがでしょうか? |
野中文雄 | Åê¹ÆNo.35346 投稿日時: 2007-10-1 10:11 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 外部画像を読み込んだら順次フェードインするには 基本的に、それで結構だと思います。2点だけ、補足します。
引用: TJFORDさんは書きました: 関数本体内のthisは、functionが設定(メモリ)されているタイムライン(オブジェクト)を参照します。 以下のfunctionはメインタイムラインに定義されているので、関数本体内のthisはメインタイムラインを参照します。 引用: // メインのタイムラインのフレームアクション 以下のfunctionはButton.onPressイベントハンドラメソッド(のコールバック関数)としてButtonインスタンスに設定されているので、関数本体内のthisはmy_btnを参照します。
|
« 1 (2) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |