アクションゲームのスクロール
Posted: 2008年1月24日(木) 17:35
初めまして、アルと言います。
卒業研究でアクションゲームを作成しようとしているのですが
スクロールがうまく作れず行き詰っています。
検索で掲示板内を調べたのですが、マップスクロールに関していまいち理解できませんでした。
検索したログで管理人さんの出した例題が
//
#define WINDOW_SIZE_X 640
#define WINDOW_SIZE_Y 480
#define STAGE1_END_X 10000
typedef struct{
int x,y;
}ch_t;
ch_t ch;
という環境だとすると
if(ch.x<WINDOW_SIZE_X/2){
普段どおり背景を描画。
普段どおりキャラを描画。
}
else if(ch.x<STAGE1_END_X-WINDOW_SIZE_X/2){
キャラが進んだ分だけ背景を左にスクロール。
画面中央にキャラを表示。
}
else{
普段どおり背景を描画。
X座標はSTAGE1_END_X-WINDOW_SIZE_Xを左原点にキャラを描画。
}
//
となっているのですが、ちょっとよくわかりません。
私の作っているアクションは、背景は無く(真っ暗)、ただブロックを置いてそこにキャラが乗れる程度です。
DXライブラリ置き場のサンプルプログラムそのまんまですが、私が作ろうとしているプログラムです。
これからどうやってキャラを中心としたマップスクロールを作っていけばいいのでしょうか?
//
マップ//
#define SCREEN_WIDTH (640) // 画面の横幅
#define SCREEN_HEIGHT (480) // 画面の縦幅
#define CHIP_SIZE (32) // 一つのチップのサイズ
#define MAP_WIDTH (SCREEN_WIDTH / CHIP_SIZE) // マップの横幅
#define MAP_HEIGHT (SCREEN_HEIGHT / CHIP_SIZE) // マップの縦幅
//キャラ
float PlX, PlY ; // プレイヤーの座標(中心座標)
//
当方は、C言語経験は1ヶ月未満です。
どうかご教授をお願いします。
卒業研究でアクションゲームを作成しようとしているのですが
スクロールがうまく作れず行き詰っています。
検索で掲示板内を調べたのですが、マップスクロールに関していまいち理解できませんでした。
検索したログで管理人さんの出した例題が
//
#define WINDOW_SIZE_X 640
#define WINDOW_SIZE_Y 480
#define STAGE1_END_X 10000
typedef struct{
int x,y;
}ch_t;
ch_t ch;
という環境だとすると
if(ch.x<WINDOW_SIZE_X/2){
普段どおり背景を描画。
普段どおりキャラを描画。
}
else if(ch.x<STAGE1_END_X-WINDOW_SIZE_X/2){
キャラが進んだ分だけ背景を左にスクロール。
画面中央にキャラを表示。
}
else{
普段どおり背景を描画。
X座標はSTAGE1_END_X-WINDOW_SIZE_Xを左原点にキャラを描画。
}
//
となっているのですが、ちょっとよくわかりません。
私の作っているアクションは、背景は無く(真っ暗)、ただブロックを置いてそこにキャラが乗れる程度です。
DXライブラリ置き場のサンプルプログラムそのまんまですが、私が作ろうとしているプログラムです。
これからどうやってキャラを中心としたマップスクロールを作っていけばいいのでしょうか?
//
マップ//
#define SCREEN_WIDTH (640) // 画面の横幅
#define SCREEN_HEIGHT (480) // 画面の縦幅
#define CHIP_SIZE (32) // 一つのチップのサイズ
#define MAP_WIDTH (SCREEN_WIDTH / CHIP_SIZE) // マップの横幅
#define MAP_HEIGHT (SCREEN_HEIGHT / CHIP_SIZE) // マップの縦幅
//キャラ
float PlX, PlY ; // プレイヤーの座標(中心座標)
//
当方は、C言語経験は1ヶ月未満です。
どうかご教授をお願いします。