メイン 迷える子羊の部屋【初心者専用】 マスクを使った画像の切り替え | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ne-san | Åê¹ÆNo.12624 投稿日時: 2004-11-24 14:20 |
半人前 居住地: 投稿: 36
使用環境:
WindowsXP Flash CS3 |
マスクを使った画像の切り替え こんにちは
マスクのサンプルスクリプトを解読中なのですが、 不明なところがあるので質問させてください。 下記のスクリプトは画像2枚(mov1/mov2)とマスクで校正された ムービークリップのフレームアクションです。 レイヤーは ○フレームアクション ●mask1 ●mov1 ●mask2 ●mov2 の順になっています。mask1、2は同じMCです。 ---------------------------------------- //マスクを設定 mov1.setMask(mask1); mov2.setMask(mask2); changeDepth (1); ch=1; //マスクを変化 function maskMove (maskNo) { if(ch ==1){ mask1.gotoAndPlay(maskNo); }else if(ch == 2){ mask2.gotoAndPlay(maskNo); } } //重なり順を変更 function changeDepth () { if(ch ==1){ mov1.swapDepths(8); mask1.swapDepths(9); mov2.swapDepths(10); mask2.swapDepths(11); changeCH(); }else if(ch == 2){ mov2.swapDepths(8); mask2.swapDepths(9); mov1.swapDepths(10); mask1.swapDepths(11); changeCH(); } } //モード切替 function changeCH () { if(ch ==1){ ch=2; }else if(ch == 2){ ch=1; } } ---------------------------------------- 上から4、5行目の「changeDepth (1);」と「ch=1;」の部分で 突っかかってしまいました。 changeDepthの引数(?)の1とは何のことなのか?ch=1とは 何のことなのか悩んでおります。 解説していただきたく投稿しました。 宜しくお願いします :Win2000: |
空野大二郎 | Åê¹ÆNo.12626 投稿日時: 2004-11-24 14:47 |
職人 居住地: 愛知 投稿: 389
使用環境:
XP:Home FlashMX IE6.0+FlashPlayer7,0,19 CPU:Pentium4 2.26GHz メモリ:1,024MB |
Re: マスクを使った画像の切り替え まいど。
"function changeDepth ()"に引数を受け取る器が用意されて いないため、"changeDepth (1);"の"1"はなくても動作しますね。 直後で"ch=1;"とマスクの状態が指定されているため、なおさら 前述の"1"が不要だと分かります。 引用:
制作者が「マスクのサンプルスクリプト」を作成中に、マスクの 状態を「引数」ではなく「変数:ch」で管理しようとした名残、なのでしょう。 以上です。
|
ne-san | Åê¹ÆNo.12629 投稿日時: 2004-11-24 16:30 |
半人前 居住地: 投稿: 36
使用環境:
WindowsXP Flash CS3 |
Re: マスクを使った画像の切り替え 空野大二郎さん。
まいど 回答ありがとうございました。 折角回答いただいたのですが、勉強不足のため、また質問させてください。 引用:
受け取る器とは? ch=1とは?(マスクの状態だということは分かるのですが、どうしてch=1の記述だけでマスクの状態がわかるのでしょうか?) 引き続き解説お待ちしてます。 |
空野大二郎 | Åê¹ÆNo.12633 投稿日時: 2004-11-24 17:16 |
職人 居住地: 愛知 投稿: 389
使用環境:
XP:Home FlashMX IE6.0+FlashPlayer7,0,19 CPU:Pentium4 2.26GHz メモリ:1,024MB |
Re: マスクを使った画像の切り替え まいど。
まず、「引数=関数に渡す値」という前提でお話しします。 もし、"function changeDepth (theNum)"のようにされていれば、 "changeDepth(2)"のように、changeDepth()関数を実行すると共に、 「2」という値を渡すことができます。 受け取る側では、「2」を受け取ってその値を関数の中で使います。 では、「2」はどこにあるのかといえば、「theNum」に代入される 仕組みなのです。 この、「theNum」、変数を受け取る器の存在をなんと呼んでいいのか 分からなかったため、あのような説明になってしまいました。 引用:
FlashMXのアクションウィンドウで、変数「ch」の検索をかけます。 すると、次のようになりますね。
変数「ch」の値を変更しているのは冒頭5行目と「//モード切替」の 3カ所です。 他のところでは、変数「ch」を参照して、比較演算子"=="で評価され、 その結果でマスクの状態を変化させています。 上記の中で、ゆいいつフレーム実行時に変数「ch」に値を 代入しているのが、"ch=1"だったので、この状態が最初に表示される マスクの状態を表しているのだと判断しました。 引用:
|
空野大二郎 | Åê¹ÆNo.12635 投稿日時: 2004-11-24 17:36 |
職人 居住地: 愛知 投稿: 389
使用環境:
XP:Home FlashMX IE6.0+FlashPlayer7,0,19 CPU:Pentium4 2.26GHz メモリ:1,024MB |
Re: マスクを使った画像の切り替え なんだか、マスクの話ではなくて、「自作関数の引数」についての話になっていますね。
引数について理解を深めたい場合は、単純なスクリプトで確認することをオススメします。
関数a_plus_b()を呼び出すとき、中の値を変更して、引数の仕組みを 体験して下さい。("text"文字列を送ってもかまいません) あとは、書店などでActionScriptの書籍を手に取り、立ち読みでも 結構ですので(作者方、失礼)索引で「引数」を調べて軽く読んでみて下さい。 きっと、そちらの方がしっかりとした説明がされています。 分かりやすいと思ったら、購入して勉強するのも吉です。 もちろん、お手持ちのものでもかまいません。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |