スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

自作ゲームの、「マップスクロール」の方法を変えてみた

マップチップで表示するゲーム画面では、
マップチップ単位でズラして行くと、かなり荒い動きになってしまうので、

マップスクロールを行うと思うんですが、今回そのやり方を変えてみました。

今までのやり方は、まず下記の変数を用意し、
-------------------
・BaseX, BaseY
・DifX, DifY

-------------------
大まかに、下記の様にしてました。
for(int i = BaseY, count = BaseY + MAP_HEIGHT; i < count; i++)
{
for(int j = BaseX, count2 = BaseX + MAP_WIDTH; j < count2; j++)
{
if(map[i][j].type == TYPE_WALL){
Draw( j + DifX, i + DifY, handle[TYPE_WALL]);
}
}
}

map ・・・ 独自定義した構造体の2次元配列。
handle ・・・ int型の配列。
TYPE_WALL ・・・ マップチップの種類を表す列挙型。
MAP_WIDTH ・・・ 横のマップチップの数を表す、オブジェクト形式マクロ。
MAP_HEIGHT ・・・ 縦のマップチップの数を表す、オブジェクト形式マクロ。
Draw ・・・ x座標、y座標、画像のハンドル を順に渡す 描画関数。



そして、主人公が移動したら、その分フィールドを逆に動かす
という風にして、キャラクターが動いているように見せていました。

※例えば「→」を押して、キャラクターが右に移動するとします。
主人公が真ん中で固定の場合、フィールドを左にズラせば右へ進んでいるように見えます。




<追記予定!>
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント
コメントの投稿
管理者にだけ表示を許可する



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。