ページ 11

ゲームプログラミングのs2.

Posted: 2009年8月09日(日) 19:32
by xyz
環境の問題なのか
あのコードでは動きませんでした。
oldKey[256]={},を
oldKey[256]={NULL},することで
動作を確認したので、一応報告しておきます。
俺の環境のみの問題なら
スルーしちゃってください。
ちなみにoldKey[256],でも問題ないようです。

それと気になったんですが、
51. 画像を回転、拡大縮小描写する。の
DrawRotaGraph( 320 , 240 , (double)count*0.01 ,
PI*((double)count*0.001) , image[0] , TRUE ) ;
でdoubleのキャストはする必要があるんでしょうか?
キャストについてはよく知らないんですが、
キャストなしでも実行した時に変わらないように見えたので。

長文になりましたがよろしくお願いします。

Re:ゲームプログラミングのs2.

Posted: 2009年8月09日(日) 23:09
by Dixq (管理人)
ご報告ありがとうございます。

グローバル変数なので、変数の初期化はしなくても0になりますが、明示的に書くつもりでそのように書きました。
しかし
={}
はコンパイラによってはエラーになるので、
={0,}
と書くほうがよかったですね。
ただNULLは意味が違うので、int型の0である0と書いたほうがよさそうです。
もしくは何も書かなくても大丈夫です。

また、キャストについても明示的に書いています。
「0.01」とだけ書くとdouble型を意味するので、(double)を書かなくても計算結果は同じになります。

Re:ゲームプログラミングのs2.

Posted: 2009年8月10日(月) 17:20
by xyz
早い返答ありがとうございました。
今回のキャストは明示にしてコードを分かりやすくするということですね。
キャストは扱ったことがないどころか見たこともなく、
なんともよくわからなかったので。
ありがとうございました。