![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
質問です。
MCが画面いっぱい、左右(x座標)に繰り返し移動するものを作りたいのですが
うまく動作を指定できず悩んでいます・・・。
例えば、左に移動のみ、右に移動のみの繰り返しの動作はつけられます。
ですがそれを左に行ったら右に戻るという動作がつけられません。
もしかしたらとても簡単な事でしょうか?
それでしたらすみません・・・。
そして、右端から左端に移動したら一段(15px)下がって再び同じ動作を繰り返す・・・何て事は可能でしょうか?
ステージの大きさは、240×240です。
MCは、15×15のものと15×14のものの二種類で、基準点は中心です。
ちなみにグリッドは5pxに設定しています。
左端のxは-110、右端は110くらいで。
お分かりになる方がいらっしゃいましたら、ご返答いただきたいです。
宜しくお願いいたします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?e8efa67)
No.1ベストアンサー
- 回答日時:
まず,考え方としては,
_x += (1)*移動距離
↓
端まで来たら
↓
_x += (-1)*移動距離
↓
端まで来たら
↓
_x += (1)*移動距離
↓
端まで来たら
↓
_x += (-1)*移動距離
↓
…
という感じで,
1 と -1 を入れ替えればいいわけです。
次に,具体的な方法です。
15×15のMCはでも良いですし,
15×14のMCはでも良いです。
どちらでも良いので,
MC 内のフレームを 3フレームにします。
そして,
スクリプト用レイヤーを用意し,3フレーム目を空白キーフレームにします。
□ レイヤー 筆・・|○ []|○| ←スクリプト
□ レイヤー 筆・・|●//// | ←何か物
そして,
MC 内タイムラインの 「フレーム1」 で,
次のような変数に定数を設定しておきます。
-------------------------------
// 切り替えのための変数 flg の初期値
flg = 1;
// スピードの設定 (※可変)
spd = 8;
-------------------------------
「フレーム2」には何も書きません。
そして,「フレーム3」に次のように書けば,できあがりです。
-------------------------------
// x座標を spd ずつ加算or減算
_x += flg*spd;
// x座標が「ステージの幅-このMCの幅/2」になれば
if (_x>=-_width/2+240) {
// x座標を「ステージの幅-このMCの幅/2」で固定
_x = -_width/2+240;
// y座標を高さ分下へ
_y += _height;
// そしてフラグの符号を変える
flg *= -1;
//
// x座標が「このMCの幅/2」になれば
} else if (_x<=_width/2) {
// x座標を「このMCの幅/2」で固定
_x = _width/2;
// y座標を高さ分下へ
_y += _height;
// そしてフラグの符号を変える
flg *= -1;
}
//
// このMC内を フレーム2 に戻して Play
gotoAndPlay(2);
-------------------------------
2つ MC がありますが,
どちらとも同じ構造とスクリプトで行けます。
この回答への補足
早々のご返答ありがとうございます!
動きをつけるコトが出来ました。
でも、これはMCがx座標の0に配置されていないと正常に動かない様ですね。
0ではなく例えば20など他の位置にしたい場合は
どのように変えれば良いでしょうか?
宜しくお願いいたします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?e8efa67)
No.2
- 回答日時:
#1です。
> これはMCがx座標の0に配置されていないと正常に動かない様ですね。
そんなことはないと思いますが。
ステージに見えている範囲に置いてくださればどこでもOKだと思いますよ。
ただ,
最初に進む向きに関しては,
// 切り替えのための変数 flg の初期値
flg = 1;
をこのままか,
場合によっては -1 に変えてください。
最初に右に進みたい場合が 1 で,
最初に左に進みたい場合が -1 です。
なるほど!!
flgの値を変えたら正常に動きました。
お手数をおかけして申し訳ございませんでした。
非常に勉強になりました!ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- レトロゲーム ファミコンのインベーダの質問その3 背景にインベーダーを描画したとしても、なぜ動けるのか? 3 2022/07/08 16:58
- モニター・ディスプレイ マルチモニタでのカーソルの動き方 1 2022/06/15 14:59
- その他(ソフトウェア) IrfanView で画像のスクロール?できますか 1 2022/08/31 13:57
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- テレビ 映像についての疑問? 左から右に進む映画は映像が進んで流れて行く様に感じるのに、左から右に進む映像は 1 2023/05/19 20:26
- マウス・キーボード マウスのないパソコン 9 2022/03/30 10:53
- Excel(エクセル) Excelで図の書式設定を移動したい 1 2022/10/07 15:32
- Visual Basic(VBA) 【マクロ】表への繰り返し転記について 1 2022/11/19 16:30
- 査定・売却・下取り(バイク) 片側に斜線道路にて。 右車線を後方からジムニーが走って自車を抜き、そのすぐ前にいた車両が通せんぼをし 2 2023/08/07 07:55
- JavaScript スマホ上で、左右スワイプで次のページに移動させたいです 2 2022/11/11 17:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホでサイトの画像を長押し→...
-
Giam
-
potplayerについて質問です
-
flash (.swf) を編集したい
-
バナー広告の事に質問です! 広...
-
Flash Lite1.1について
-
Flashvars getURLの書き方
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
動かした画像を元の位置に戻すには
-
MOUSE_MOVE マウスの動きと同...
-
MCを一定の間隔で吸着させた...
-
MCをブラウン運動させたい。
-
_x,_y指定の移動の方法(Flash l...
-
HSP あたり判定
-
[開発形態]UIレイアウトまでデ...
-
わからない・・・!!!
-
press座標とrelease座標からス...
-
下記のような運動をホームペー...
-
ムービークリップの初期座標
-
Flash mx2004 画質が劣化して...
-
画像のランダム配置からボタン...
-
mcの交点の座標を求める方法
-
Flashパブリッシュエラー
-
ボタンによるムービークリップ移動
-
photoshopで書いた四角の枠の中...
-
テキストボックスの中身をリセ...
-
python ボタンを押すと複数の関...
-
変数に256文字以上のテキストを...
おすすめ情報