はじめまして、ウッソと申します。
早速ですが、質問の方に。
ゲームプログラミングの館を参考にプログラムの練習を
しているのですが、ゲーム基本編の「キャラをキー入力によって移動させる。」
という項目で、キャラクターが常に一定の速度で動いていますが、
この速度はどうやって決まっているのでしょうか?
関数ScreenFlipの呼び出し回数を2回に1回にしたところ、
キャラクターの移動が早くなりましたが、描画の回数を減らすと
処理速度が上がるということなのでしょうか・・・。
キャラクターの移動について
Re:キャラクターの移動について
> DrawGraph( ch.x , ch.y , ch.img , TRUE ) ;
この関数が、第三引数のハンドル( ch.img )が示す画像を描画する関数ですが、
その位置は第一,第二引数( ch.x , ch.y )で決定されています。
つまり、この数値2つを変化させることで移動を行うことができます。
次に下記の部分で、ch.xを変動させています。
変更例:
ch.x = ch.x+2 ; (または ch.x += 2 ;)
> 処理速度が上がるということなのでしょうか・・・。
時間に対する描画処理を半分に減らしたのですから、1ループの平均処理速度は上がります。
もちろん、その分画面の更新速度も遅くなっています。
この関数が、第三引数のハンドル( 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ループの平均処理速度は上がります。
もちろん、その分画面の更新速度も遅くなっています。