ページ 11

キャラクターの移動について

Posted: 2009年10月03日(土) 21:46
by うっそ
はじめまして、ウッソと申します。

早速ですが、質問の方に。

ゲームプログラミングの館を参考にプログラムの練習を
しているのですが、ゲーム基本編の「キャラをキー入力によって移動させる。」
という項目で、キャラクターが常に一定の速度で動いていますが、
この速度はどうやって決まっているのでしょうか?

関数ScreenFlipの呼び出し回数を2回に1回にしたところ、
キャラクターの移動が早くなりましたが、描画の回数を減らすと
処理速度が上がるということなのでしょうか・・・。

Re:キャラクターの移動について

Posted: 2009年10月03日(土) 23:26
by ランド
> DrawGraph( ch.x , ch.y , ch.img , TRUE ) ;

この関数が、第三引数のハンドル( ch.img )が示す画像を描画する関数ですが、
その位置は第一,第二引数( ch.x , ch.y )で決定されています。

つまり、この数値2つを変化させることで移動を行うことができます。

次に下記の部分で、ch.xを変動させています。
if( Key[ KEY_INPUT_RIGHT ]  == 1 )      //右ボタンが押されたら
            ch.x++ ;                            //xの値を1増やす
この ch.x++ ; の部分を変更すると、速度が変化します。

変更例:
 ch.x = ch.x+2 ; (または ch.x += 2 ;)



> 処理速度が上がるということなのでしょうか・・・。
時間に対する描画処理を半分に減らしたのですから、1ループの平均処理速度は上がります。
もちろん、その分画面の更新速度も遅くなっています。

Re:キャラクターの移動について

Posted: 2009年10月03日(土) 23:50
by うっそ
> ランド様
ありがとうございました!

座標の移動を増やせば進む速度が上がりますよね・・・。
単純なことでした。