てきとうな足跡
イラストやらバイトの事を書いている大学生のブログ
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
まわるーまーわるーよ
中島みゆきイイネb。最近の曲しか知らないにわかだけど
「ファイト」って曲。受験生や就職の学生のためにリクエストしたいね。
気になる人はyoutubeで検索

slick2dのサンプルプログラムの開き方を知って、大きく前進!
マウスとか使えるようになりました!



今回はそんな回る話。
また、右側のまとめに追加しておきました。
SnapCrab_FPSゲームテスト_2013-12-25_20-19-54_No-00
常にマウスカーソルの方向向いてたり、プレイヤーに近づく動作も回転作業。

回転角度の求め方は,P1の座標をマウスの座標、P2の座標をプレイヤーの座標とすると
「θ = arctan((P1.y - P2.y) / (P1.x - P2.x))」
arctanはtanθの逆三角関数

でも、ここで出てくるθはラジアン。
0~360の角度にするには、
「角度 = θ + 180 / π」
角度からラジアンを求めるには
「θ = 角度 * π / 180」

なんでそうなるかは知らない。

参考にしたところとか:
・Flashゲーム講座 & アクションスクリプトサンプル集
http://hakuhin.jp/as/math.html
・C言語何でも質問サイト「ホーミング機能を実装してみよう」
http://dixq.net/rp/50.html
このゲーム、斜め移動するとプレイヤーは早く移動出来る仕様となっています。

まず、MainStateクラスのプレイヤーの移動部分
ss1_20131225214712b2b.png
1回の処理で、左右と上下に2回移動できる。

対して、Enemyクラスの移動部分
ss2.png
1回しか移動できない!
しかもdouble型をint型にキャスト変換してるから小数点以下が四捨五入されてる。

なので、斜めに移動しながら回避するのも有りかと。
スポンサーサイト
コメント
コメント
コメントの投稿
URL:
本文:
パスワード:
非公開コメント: 管理者にだけ表示を許可する
 
トラックバック
トラックバック URL
http://moromorocco.blog39.fc2.com/tb.php/321-ce88c3c9
この記事にトラックバックする(FC2ブログユーザー)
トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。