http://dixq.net/forum/viewtopic.php?f=3&t=7765
このページを参考にカメラスクロールをすることはできたのですが、いまいち何をしているのかよくわかっていません
// マップの描画
{
int i, j ;
for( i = 0 ; i < MAP_HEIGHT ; i ++ )
{
for( j = 0 ; j < MAP_WIDTH ; j ++ )
{
// 1は当たり判定チップを表しているので1のところだけ描画
if( MapData[i][j] == 1 )
{
DrawBox( j * CHIP_SIZE - camerax, i * CHIP_SIZE,
j * CHIP_SIZE + CHIP_SIZE - camerax, i * CHIP_SIZE + CHIP_SIZE,
GetColor( 255, 255, 255 ), TRUE ) ;
}
}
}
}
これはなぜ camerax を引いているのでしょうか?
また、
とありますが、これはつまり、int view_chipx = map_chipx - camerax;
と書きましたが、無駄が多いけど単純にマップチップのdrawでX座表示にcameraxを足したほうが簡単ですね。
int view_chipx = j*CHIP_SIZE-camerax
これと同じ意味なのでしょうか
つまり
view_chipx は j*CHIP_SIZE-camerax
これを計算した後の値と同じなのでしょうか
いまいち基本的なことが理解できていないのだろうと自分でも思いますが
よろしくお願いします