質問です
こんなかんじでhttp://oshiete1.goo.ne.jp/qa4650479.html画像が目的のところに到着したら、別の位置にサッと飛ぶ、というのはどうすればいいのでしょうか
上のページのスクリプトのあとに位置を示す
MC._x=140;
MC._y=-250;
を足したのですが、最初にそれが実行されてしまいます。
No.1ベストアンサー
- 回答日時:
あのスクリプトでは「画像が目的のところに到着する」ことは一生ありませんよ。
ムービークリップを動かしてムービークリップの座標と目標座標の間を 1/5 ずつ縮めているのです。
仮にムービークリップと目標座標との間隔が 1000px あった場合
1フレーム進む時間毎に随時
1000
↓1/5 縮まる
800
↓1/5 縮まる
640
↓1/5 縮まる
512
↓1/5 縮まる
409.6
↓1/5 縮まる
327.68
↓1/5 縮まる
262.144
↓1/5 縮まる
209.7152
↓1/5 縮まる
167.77216
↓1/5 縮まる
134.217728
↓1/5 縮まる
107.3741824
↓1/5 縮まる
85.89934592
↓1/5 縮まる
68.71947674
↓1/5 縮まる
54.97558139
↓1/5 縮まる
…略…
と言う感じで目標座標に近づき続けるだけです。
したがって「許容範囲」が必要です。
「もし許容範囲に入れば指定座標に移動する」
という部分を付け加えます。
on (rollOver) {
// 目標の X 座標を 0 だとします
var mokuhyouX:Number = 0;
// 目標の Y 座標を 0 だとします
var mokuhyouY:Number = 0;
// 動かす速さ(割合) を 1/5 だとします
var speed:Number = 1/5;
// MC に対して1フレーム進む時間毎に随時実行するイベントハンドラメソッドを定義
MC.onEnterFrame = function() {
// MC の座標を目標座標に speed ずつ近づける
MC._x += (mokuhyouX-MC._x)*speed;
MC._y += (mokuhyouY-MC._y)*speed;
// ---※以下追加-------------------------
// もし MC1 の座標が目標座標 ±1px 以内に近づいたら
if (Math.abs(mokuhyouX-MC._x)<=1) {
MC._x = 140;
MC._y = -250;
// そして MC1.onEnterFrame を削除
delete MC.onEnterFrame;
}
};
}
なお,
今回のご質問のムービークリップのインスタンス名は,
MC._x=140;
MC._y=-250;
で MC になっていますから上のスクリプトもそれに合わせました。
もし MC1 のままである場合は スクリプト とともに,実際のインスタンス名はどう付いているのかなども注意してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 ゲーム
-
外部swfを読み込んだときのずれ
-
photoshopで書いた四角の枠の中...
-
VBScriptでMsgBoxのYesNoボック...
-
python ボタンを押すと複数の関...
-
別のアプリケーションのテキス...
-
VBAで改行の入ったデータの正規...
-
VBSでMid関数を使ったらエラー...
-
変数に256文字以上のテキストを...
-
VBAからPDFのテキストフィールド
-
深度を最前面にしたいが?
-
【VB.NET】別Formのボタンが押...
-
テキストボックスの中身をリセ...
-
IP Address 入力フォームについて
-
ダブルクリックを無効にするには
-
テキストボックスにセルの値を...
-
楕円の軌道に傾斜をつける方法...
-
Flash8でサウンドが鳴りません
-
MCを最背面に表示したい+ムー...
-
setIntervalの解除方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HSP あたり判定
-
MCをブラウン運動させたい。
-
動かした画像を元の位置に戻すには
-
【急ぎ】setIntervalを使って各...
-
C言語 ゲーム
-
物体の衝突判定について教えて...
-
文字(テキスト)の潰れ・にじ...
-
障害物に対する衝突判定
-
ローディング画面の作り方(欲...
-
_x,_y指定の移動の方法(Flash l...
-
ムービークリップの初期座標
-
photoshopで書いた四角の枠の中...
-
Pythonを使ってせん断応力図、...
-
python ボタンを押すと複数の関...
-
VBAで改行の入ったデータの正規...
-
【VB.NET】別Formのボタンが押...
-
別のアプリケーションのテキス...
-
VBScriptでMsgBoxのYesNoボック...
-
変数に256文字以上のテキストを...
-
テキストボックスの中身をリセ...
おすすめ情報