キャラを歩かせたいです。
Posted: 2012年3月23日(金) 13:48
プログラミングの館を見ながら作っています。キャラの移動はできたんですが歩かせるのがうまくいきません何かヒントでもお願いします。
#include "DxLib.h"
#include "Player.h"
#include "Keyboard.h"
#include "Field.h"
// このファイル内でしか使えないグローバル変数
static int m_Image[16]; //画像ハンドル
static int m_y; //y座標
static int m_x;
static int W,SPD,W2;
static int muki_flag,walk_flag;
// 初期化をする
void Player_Initialize(){
LoadDivGraph("画像/キャラクタ10.png", 16, 4, 4, 32, 32, m_Image);
m_y = 320;
m_x = 160;
SPD=1;
W=FIELD_MAX_X;//600
W2=FIELD_MAX_Y;//448
muki_flag=3;
walk_flag=0;
}
// 動きを計算する
void Player_Calc(){
if(m_x%1==0 && m_y%1==0){
walk_flag=1;
if(Keyboard_Get(KEY_INPUT_UP)>0)
muki_flag=0;
else if(Keyboard_Get(KEY_INPUT_LEFT)>0)
muki_flag=1;
else if(Keyboard_Get(KEY_INPUT_DOWN)>0)
muki_flag=2;
else if(Keyboard_Get(KEY_INPUT_RIGHT)>0)
muki_flag=3;
else
walk_flag=0;
if(walk_flag==1){
if(muki_flag==0)
m_y--;
else if(muki_flag==1)
m_x--;
else if(muki_flag==2)
m_y++;
else if(muki_flag==3)
m_x++;
if(m_x>W)
m_x--;
else if(m_x<0)
m_x++;
else if(m_y>W2)
m_y--;
else if(m_y<16)
m_y++;
}
}
}
// 描画する
void Player_Graph(){
if(muki_flag==0)
DrawGraph(m_x, m_y, m_Image[0], TRUE);
else if(muki_flag==1)
DrawGraph(m_x, m_y, m_Image[4], TRUE);
else if(muki_flag==2)
DrawGraph(m_x, m_y, m_Image[8], TRUE);
else if(muki_flag==3)
DrawGraph(m_x, m_y, m_Image[12], TRUE);
}
// 終了処理をする
void Player_Finalize(){
DeleteGraph(m_Image[16]);
}