くまちゃんのiOS/Androidゲームプログラミング

マイペースでゲームつくってます。

ゲームプログラミングのはなし21

【ゲームプログラミングのはなし21】
アニメーションができるようになれば、次は敵キャラクターを動かすことですね。これが自在にできるようになればもうゲームプログラミングはマスター目前です。

基本は、画面のX座標、Y座標を思いどおりに変化させるために、いろんな数式を使います。数学ですけど、ゲームなのでそれほどシビアにならず、適当に式をいじりながら動きを見て修正していくので十分です。

ポイントは、キャラクターの現在位置を示すX座標、Y座標とは別に、移動量を記憶させるVX、VYの変数を用意することですね。

右に移動させるときに、
X=X+1;  (";"はC言語で命令終了)

とはせずに
VX=1;
X=X+VX;

とするほうが、あとあと都合がいいんです。例えば上の直接代入だと、左に移動させたい時には
X=X-1;
と別に式を追加しなくてはならなくなりますが、下の方法だと
VX=-1;
と代入するだけで、X=X+VXの式は変更する必要がありません。上の方法だと斜め移動させる時はもっとメンドクサイことになってしまいます。Y座標の式を場合わけして付け足すのはやってられませんよ。
ですので、
X=X+VX;
Y=Y+VY;
としておき、あとはVXとVYに放り込む値を自在にコントロールできるようになれば、全方向に対応できます。
あ、別にVをつけなくてもMXでも名前はなんでもいいんですが。物理学からのならわしでそうすることが多いだけです。(続く)

https://itunes.apple.com/jp/app/kumachanmeizu/id886937682?mt=8&uo=4&at=10l8JW&ct=hatenablog