2011年5月4日水曜日

タッチした方向に描画した円を発射する。その2

前回作った物をちょっと改良して、物理的な要素を加え、自由落下運動っぽいことをして
画面下に来たら反発して、ボールのような動きをやってみようと思う。





















自由落下運動とは
重力だけを受けている物体が初速0で真下に落下する運動

落下する物体の運動は等加速度直線運動で、落下しながらスピードを増していく。

今回、画面下に来たら、反発して図のような動きをさせてみる。

自由落下に必要な計算は、
vy+=g*t






















座標上、下向きに動作する場合は、Y座標なので、y方向に重力を加え、また、これに等加速度運動を入れるので、時間を掛けてあげる。

そして、反発係数をいれる。
反発係数は、画面の右端、左端、画面下側に描画した円が来た時、vx,vyにそれぞれ、0.9を掛けている。
vx*=0.9;
vy*=0.9;

画面の端に来たときの処理は、こんな感じ

        if(x<0) {
        x=0;
          //移動方向を反転
        vx*=-1;
        vx *=0.9;
        }

        if(x>panel.getWidth()-r) {
        x=panel.getWidth()-r;
        //移動方向を反転
     vx*=-1;
        vx *=0.9;
        }

        if(y<0) {
        y=0;
        //移動方向を反転
     vy*=-1;
        vy *=0.9;
        }

        if(y>panel.getHeight()-r) {
        y=panel.getHeight()-r;
        //移動方向を反転
     vy*=-1;
        vy *=0.9;
        }




その他のタッチイベント関連
タッチイベントを使って、画像を回転させる
タッチイベントで文字を書いたり絵を描く
タッチした方向に描画した円を発射する
Androidでゲーム ブロック崩し編 3回目:板画像のタッチ操作
Androidでゲーム ブロック崩し編 4回目:タッチ操作が出来る範囲と出来ない範囲を作る
ランダムクラスを使って色の変更を行う
Androidのタッチイベントを使ってアニメーションを動作させる

0 件のコメント:

コメントを投稿