C/C++言語でRPGを作ってみるスレ
■ このスレッドは過去ログ倉庫に格納されています
0772デフォルトの名無しさん
2005/07/02(土) 18:56:151チップのサイズ cx,cy
画面の中央にキャラを表示するものとして
キャラの現在のワールド上座標を(x,y)とすると
表示画面原点のワールド上座標は
view_x = x - width/2;
view_y = y - height/2;
チップサイズ単位のグリッドからのずれは
offset_x = view_x % cx;
offset_y = view_y % cy;
したがって画面に敷き詰めるチップのposy行posx列目
の描画位置は
draw_x = posx*cx - offset_x;
draw_y = posy*cy - offset_y;
マップデータ2次元配列上の初期位置は
ini_x = view_x/cx;
ini_y = view_y/cy;
したがってposy行posx列目のチップのデータは
map_data[posy + ini_y][posx + ini_x]
ドット単位のスクロールをしたければ(x,y)を適当に
増減すればいい。
■ このスレッドは過去ログ倉庫に格納されています