メイン 迷える子羊の部屋【初心者専用】 分岐処理で | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
sama_night | Åê¹ÆNo.15915 投稿日時: 2005-3-11 15:39 |
常連 居住地: 投稿: 78
使用環境:
WINXP,FlashMX,Flash8 |
分岐処理で お世話になります。
ボタンAを押すと、ムービクリップAが、別の座標値に移動するようになっています。これを段階を踏んで、移動させるというものを作っています。 例えば、現在の座標値が(100,100)にあるムービクリップAが (-200,300)に移動させるとします。 on (press) { x = -200; y = 300; } 上記のスクリプトだと、斜め移動します。 それを、(100,100)→(100,300)→(-200,300) といった段階を踏んだ座標移動を考えました。 以下が、改良したスクリプトです。 on (press) { y = 300; time = getTimer(); this.onEnterFrame = function() { if (nowtime-time<-200) { nowtime = getTimer(); } else { x = -200; delete this.onEnterFrame; } } } そこで、さらに汎用性の高いものにしたいと 思っているのですが、行き詰まってしまいました。 どのようにしたいかというと、 いま、終着する座標が常に、 (-200,300)なのですが、 これを、ムービクリップAの現在いる 場所によって、終着点をかえたいと思っています。 分岐処理の流れの書き方が、うまくいかず 手詰まりになっています。お知恵をお貸しください。 |
空野大二郎 | Åê¹ÆNo.15918 投稿日時: 2005-3-11 16:22 |
職人 居住地: 愛知 投稿: 389
使用環境:
XP:Home FlashMX IE6.0+FlashPlayer7,0,19 CPU:Pentium4 2.26GHz メモリ:1,024MB |
Re: 分岐処理で まいど。
ボタンAが押されると、ムービクリップAの[_x,_y]座標プロパティを 参照して値を取得し、それを基準値としてonEnterFrame イベントハンドラの中で条件分岐されればよいと考えられます。 引用: sama_nightさんは書きました: 余談:sama_nightさんのスクリプト中にある変数「x」や「y」は、 ムービークリップAが常に参照しているのでしょうか? 掲示されているスクリプトでは、フォーラム参加者からは 動作確認できないと考えられます。
|
sama_night | Åê¹ÆNo.15919 投稿日時: 2005-3-11 16:38 |
常連 居住地: 投稿: 78
使用環境:
WINXP,FlashMX,Flash8 |
Re: 分岐処理で >ボタンAが押されると、ムービクリップAの[_x,_y]座標プロパテ>ィを参照して値を取得し、それを基準値としてonEnterFrame
>イベントハンドラの中で条件分岐されればよいと考えられます。 すいません。まだまだアクションスクリプト初心者なもので、 言葉の意味が少々、理解しきれてません。 もうすこし、噛み砕いて、説明いただけないでしょうか。 >sama_nightさんのスクリプト中にある変数「x」や「y」は、 >ムービークリップAが常に参照しているのでしょうか? 常に参照しています。 ムービクリップAを制御しているコントローラAが あり、以下のようなスクリプトで制御しています。 コントローラA(ムービクリップ) //制御用のスクリプト startx = getProperty(/:ムービクリップのインスタンス名, _x); starty = getProperty(/:ムービクリップのインスタンス名, _y); horizontalno = /:x-startx; vertikalno = /:y-starty; setProperty(/:ムービクリップのインスタンス名, _x, startx+(horizontalno/2)); setProperty(/:ムービクリップのインスタンス名, _y, starty+(vertikalno/2)); |
空野大二郎 | Åê¹ÆNo.15926 投稿日時: 2005-3-12 0:18 |
職人 居住地: 愛知 投稿: 389
使用環境:
XP:Home FlashMX IE6.0+FlashPlayer7,0,19 CPU:Pentium4 2.26GHz メモリ:1,024MB |
Re: 分岐処理で まいど。
かみ砕いてみます。 「投稿No.15915のスクリプト」と「コントローラーAの スクリプト」を見せて頂いた限りでは、プロパティの参照・定義方法が 異なっています。 前者が『ドットシンタックス(Flash5以降)』、後者が 『スラッシュと関数(Flash4)』ですね。 推測ですが、既成のコントローラーAのスクリプトを用いて、 sama_nightさんがアレンジして運用しようとされているように 見受けられます。 コントローラーAの変数「startx」では、getProperty()関数を 用いて、ムービクリップAのプロパティ[_x]を参照しています。 このスクリプトをお使いになられている限りでは、 ムービークリップAのX座標やY座標の取得(MovieClipの [_x][_y]プロパティの参照)がおできになるととらえられます。 もし、不安があるようでしたら、ご利用になっている関数や MovieClipプロパティについて、Flashのヘルプやリファレンスを 使って調べてみてください。 さて、本題です。 3つのオブジェクトの構成が不確かでは、ターゲットパスの 記述を正しく行えませんので、推測で構成をとらえてみます。 (正しくない場合は、訂正をお願いします。) <構成> _root.ボタンA (Button:ボタンイベントでムービークリップAを 移動させる) _root.ムービークリップA (MovieClip:移動対象) _root.コントローラーA (MovieClip:指定されたムービークリップの 座標をコントロールする) <スクリプト> まずは、ムービクリップAの[_x,_y]座標を取得してください。 _root.ボタンAの、ボタンアクションに記述
注意:プロパティの参照には、ドットシンタックスを使わせて 頂きます。 <確認> 「制御>>ムービープレビュー」でプレビューを表示させ、 ボタンを押してtrace()された座標の値が、正しく表示されているか 確認してください。 正しく表示されている場合は、それが『ムービクリップAの 現在いる場所』です。 座標が取得できれば、あとはsama_nightさんがお望みの通りの 条件分岐を施されればよいと考えられます。
|
ひろゆき | Åê¹ÆNo.15928 投稿日時: 2005-3-12 0:44 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 分岐処理で 引用:
推測ですが、既成のコントローラーAのスクリプトを用いて、 http://www.flashforum.de/forum/showthread.php?s=ddb39d9a22719f3e1b9f4ca5bf0d190e&p=1155821 これが原文かな?
|
sama_night | Åê¹ÆNo.15962 投稿日時: 2005-3-14 16:57 |
常連 居住地: 投稿: 78
使用環境:
WINXP,FlashMX,Flash8 |
Re: 分岐処理で 丁寧に解説頂きありがとうございました。
なんとなくですが、方向性が見えたようなかんじです。 ありがとうございました。 そちらのスレッドにも同じ内容のものがありますね。 原文は、とある海外の有名サイトですね。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |