今回私が変更した所は壊れてしまったときの為に、まず下にコピーを行ってから行っている。
大元のプログラムを参照しながら、変更点を考えていった。
点数の分割の方法を応用して、モグラを分割していく。
その為にまず点数で、実験を行うようにした。
点数の表記を縦にした。
これはモグラの出入りに応用できると思ったからだ。
その為、表示開始座標と位置関係(横→縦)を変更している。
主に変更したのは(void) drawNumbersメソッド。
見比べればどこを変更したかは分かる。
[ES1Renderer.mm renderMainメソッド]
drawNumbers(float x, float y, float width, float height, GLuint texture, int number, int figures, int red, int green, int blue, int alpha)
これが分割して表記させる為のもの。
width,heightは画像を切り出す幅と高さではないので注意。
この2つは表記する大きさ。
切り出す為の幅と高さは
[graphicItil.mm drawTxtureメソッド ]
drawTexture(float x, float y, float width, float height, GLuint texture, float u, float v, float tex_width, float tex_height, int red, int green, int blue, int alpha)
のtex_width, tex_heightが支配している。
また、書き出しはu,vが支配している。
なので、ここをうまく書き直してあげればいくはず。
次回使いそうな所をあげておく。
経過時間の取得を行う[ES1Renderer.mm (void) renderMainメソッド内]
int passedTime = (int)floor(-[startTime timeIntervalSinceNow]);
残り時間を計算する[ES1Renderer.mm (void) renderMainメソッド内]
int remainTime = GAME_INTERVAL - passedTime;
この2つをうまく使えば、時間でモグラのアニメーションをうまく行えると思う。
0 件のコメント:
コメントを投稿