![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
Actionscript2 で上から落下してきたオブジェクトが下(地面?)でバウンドして
バウンドの幅がだんだん小さくなって行って止まる。
というのはどのようにしたらよいのでしょうか。
http://hakuhin.jp/as/move.html#MOVE_05
上記のサイト「放物線(自由落下)のように移動させたい」のように
横に弾んでいくのではなく、同じ場所で縦にのみバウンドする動きです。
また、バウンドがその場で止まったあと、横に少し転がって止まるようにもしたいのですが
それはどのようにしたらよいのでしょうか。
初歩的な質問ですみませんが、詳しい方がいましたら教えてください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
> 横に弾んでいくのではなく、
> 同じ場所で縦にのみバウンドする動き
つまり単純に
「x座標方向(横方向)移動関係のスクリプトを全て消せば良い。」
それだけのことでしょう?
横に動く理由(原因)は
「x座標方向に動かしているからx座標方向に動く」
それだけのことです。
ですからこの理由(原因)を取り除けば良いだけです。
最初の「move_05_00_fla05_as1.fla」内の
「player(ボールMC)」自体に書かれたスクリプトを変更する場合は
次のようになります(x座標に関係する行を消しただけ)。
//---------------------------
onClipEvent (load) {
_y = 150;
dy = -10;
}
onClipEvent (enterFrame) {
dy += 0.5;
// 下方向に移動量を増やす
_y += dy;
// 地面に着いたらyの移動量を反転
if (_y>250) {
_y = 250;
dy *= -0.8;
}
}
//---------------------------
> また、バウンドがその場で止まったあと、
> 横に少し転がって止まる
私が上に書いたスクリプトでも 元のスクリプトでも,バウンドは決して止まりません。
-0.8倍 ずつ小さくなるだけです。
ですからまずは,
「『バウンドが止る』とはどういうことなのか」
を定義する必要があります。
その定義した状態(条件)になれば
『横に転がる』という動きをさせるわけですが
「どのように『横に転がる』のか」
これも書かれていないのでわかりません。
さらに「少し転がって」の
「『少し』とはどういうことなのか」
もわかりません。
『少し』とは
時間的に『少し』なのか,距離的に『少し』なのかすらもわかりません。
すべてにおいてアヤフヤですね(考える気すらもないのでしょうか?)。
もしスクリプトをコーディングするのでしたら
その前にこの辺のことはしっかりと "具体的に" 考えておく必要があります。
スクリプト以前(以下)の話です。
とにかく他人まかせ(または PCまかせ)でアヤフヤなことだらけなので
私が勝手に決めた定義と動きで行きます。
//---------------------------
onClipEvent (load) {
_y = 150;
dy = -10;
}
onClipEvent (enterFrame) {
dy += 0.5;
// 下方向に移動量を増やす
_y += dy;
// 地面に着いたらyの移動量を反転
if (_y>250) {
_y = 250;
dy *= -0.8;
//もし dy の絶対値が 1 未満になれば
if (Math.abs(dy)<1) {
//x座標を 80 に向けて 1/20 ずつ近づける
this._x +=(80-this._x)/20;
}
}
}
//---------------------------
気に入らない動きであれば自由に変更してください。
思うのですが,
何故このような動きにスクリプトを使う必要があるのでしょうか?
もし,ActionScript やそれ以前(以下)のことすら考える気もないのでしたら
最初からスクリプトなど使わずにモーショントゥイーンで作成すれば良いだけだと思います。
モーショントゥイーンを使えばもっと良い動き(情緒や感性あふれる動き)を簡単に作ることができますよ。
「移動するバウンドボール(オレンジのサンプルFLASH講座)」
http://orange.2-d.jp/flash/anime/03.html
「FLASH活用講座 トゥイーンアニメーションを作る」
http://juen-cs.dl.juen.ac.jp/html/flash/04/03/ex …
「24 リアルなボールのバウンド - MdN Design Interactive」
http://www.mdn.co.jp/di/articles/655/?page=4
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 自動車ローン・自動車保険・車両保険 自動車保険の等級ダウンについて質問です。 先日、高速道路上で落下物による自損事故を起こしてしまいまし 5 2022/11/08 21:32
- 運転免許・教習所 横断歩道以外の歩行者 8 2022/04/19 10:44
- 卓球 卓球のルールを教えてください。私がルールを書いていくので(うろ覚え)、間違ったところがあったら訂正し 1 2023/02/01 16:03
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- 運転免許・教習所 ぶつからないなら減速しながら停止線を越えても急ブレーキを踏む必要ないですよね? 10 2023/07/01 18:37
- 物理学 特殊相対性理論を、完全否定に成功~ガンマの数式は、成立しない。 2 2023/03/08 19:30
- 運転免許・教習所 信号無しで横断歩道のある交差点での歩行者優先 4 2022/03/31 22:09
- レトロゲーム ファミコンのインベーダの質問その3 背景にインベーダーを描画したとしても、なぜ動けるのか? 3 2022/07/08 16:58
- 事故 歩行者の過失割合はどのくらいでしょうか? 5 2022/11/08 09:46
- 事故 歩行者の過失割合はどのくらいでしょうか? 1 2022/11/04 17:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マウスを近づけるとオブジェク...
-
シンボル化解除の方法
-
photoshopで書いた四角の枠の中...
-
PYTHONのtkinterについて
-
python ボタンを押すと複数の関...
-
Access2000 実行時エラー '3061':
-
VBAで改行の入ったデータの正規...
-
VBScriptでMsgBoxのYesNoボック...
-
マスクをとるとオーバーフロー...
-
【VB.NET】別Formのボタンが押...
-
四乗根を英語で言うと・・・
-
別のアプリケーションのテキス...
-
変数に256文字以上のテキストを...
-
UWSCのBTN関数について。
-
VBAユーザーホームテキストボッ...
-
C言語でネットワーク範囲のIPア...
-
VBSでMid関数を使ったらエラー...
-
テキストボックスの中身をリセ...
-
GetModuleFileName(他のアプリ,...
-
VB 基本的なプログラム √ ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マウス自体の移動量の取得
-
楕円の軌道に傾斜をつける方法...
-
MCが放物線を描いて移動
-
[AS3]自動的に画像が重なってい...
-
FLASHでロールオーバーで他のム...
-
C言語でのマウスを移動とマウス...
-
角度を指定して回転
-
画面の範囲選択
-
正6面体を一定の角度で回転さ...
-
MCの移動,透明の仕方について...
-
Actionscriptでふわふわ感を再...
-
スライドバーを用いて画面の拡...
-
flashの横幅をどのブラウザで見...
-
進行方向に徐々に停止するスク...
-
AS2 初心者です オブジェク...
-
FLASHでの座標取得
-
ムービー上の特定の座標上にマ...
-
ActionScript
-
マウスを近づけるとオブジェク...
-
FLASHのActivescriptでオブジェ...
おすすめ情報