主人公の移動について2
Posted: 2015年8月18日(火) 21:38
前回主人公の移動について質問したものです。恥ずかしながらもう一度、似たようなものですが質問です。
まず移動中は(ch.cnt%30)/5;で走っている時の画像6枚を動かし、
止まっている時は(ch.cnt%50)/10;で止まっている時の画像5枚を動かします。
最初に方向キーを押したら走っている時の画像が八方向(斜め移動も含み、それが6枚づつなので合計48枚あります)あり、それぞれの入力に決まった画像を動かし、
それで、止まっている時の画像は上下左右の4枚(5枚づつなので合計で20枚あります)あり、左の入力をしたら左の止まっている時の画像、
右なら右を向いてる止まっている画像を、走り終えた入力の無い時に表したいのですが・・・。
いや、初心者のため全く分かりません。
龍神録プログラミングの館の9章の中の「char.cpp」を少し変えて
if(CheckStatePad(configpad.left)>0)//左キーが押されていたら
{ ch.img+=5*2;//画像を左向きに;//画像を左向きに
ch.cnt++,ch.img1=(ch.cnt%30)/5;}
else if(CheckStatePad(configpad.right)>0)//右キーが押されていたら
{ ch.img+=5*3;//画像を右向きに
ch.cnt++,ch.img1=(ch.cnt%30)/5;}
else if(CheckStatePad(configpad.up)>0)//右キーが押されていたら
{ ch.img+=5*1;//画像を上向きに
ch.cnt++,ch.img1=(ch.cnt%30)/5;}
else if(CheckStatePad(configpad.down)>0)//右キーが押されていたら
{ ch.img+=5*0;//画像を下向きに
ch.cnt++,ch.img1=(ch.cnt%30)/5;}
としたのですが、振り向くは振り向くのですが、止まっている時の画像がスーっと動くばかりで、他に手も足も出ない状況です。
9章までの中で変えた所は、
load.cpp
LoadDivGraph( "../../dat/img/char/Wait.png", 20 , 5 , 4 , 60 , 110 , img_ch[0] );
LoadDivGraph( "../../dat/img/char/Run.png", 48 , 6 , 8 , 85 , 110 , img_ch1[0] );
GV.h
GLOBAL int img_ch[2][20];
GLOBAL int img_ch1[2][48];
辺りだと思います。
プログラムを書いてくださればそれを理解するまでにらめっこしようとは考えていますが、「ここをこうしたら?」というご指摘も本当に助かります。
目標は、マップを自由に動き回れるキャラクターを目指しています。
何卒、忠告をお願いします。
まず移動中は(ch.cnt%30)/5;で走っている時の画像6枚を動かし、
止まっている時は(ch.cnt%50)/10;で止まっている時の画像5枚を動かします。
最初に方向キーを押したら走っている時の画像が八方向(斜め移動も含み、それが6枚づつなので合計48枚あります)あり、それぞれの入力に決まった画像を動かし、
それで、止まっている時の画像は上下左右の4枚(5枚づつなので合計で20枚あります)あり、左の入力をしたら左の止まっている時の画像、
右なら右を向いてる止まっている画像を、走り終えた入力の無い時に表したいのですが・・・。
いや、初心者のため全く分かりません。
龍神録プログラミングの館の9章の中の「char.cpp」を少し変えて
if(CheckStatePad(configpad.left)>0)//左キーが押されていたら
{ ch.img+=5*2;//画像を左向きに;//画像を左向きに
ch.cnt++,ch.img1=(ch.cnt%30)/5;}
else if(CheckStatePad(configpad.right)>0)//右キーが押されていたら
{ ch.img+=5*3;//画像を右向きに
ch.cnt++,ch.img1=(ch.cnt%30)/5;}
else if(CheckStatePad(configpad.up)>0)//右キーが押されていたら
{ ch.img+=5*1;//画像を上向きに
ch.cnt++,ch.img1=(ch.cnt%30)/5;}
else if(CheckStatePad(configpad.down)>0)//右キーが押されていたら
{ ch.img+=5*0;//画像を下向きに
ch.cnt++,ch.img1=(ch.cnt%30)/5;}
としたのですが、振り向くは振り向くのですが、止まっている時の画像がスーっと動くばかりで、他に手も足も出ない状況です。
9章までの中で変えた所は、
load.cpp
LoadDivGraph( "../../dat/img/char/Wait.png", 20 , 5 , 4 , 60 , 110 , img_ch[0] );
LoadDivGraph( "../../dat/img/char/Run.png", 48 , 6 , 8 , 85 , 110 , img_ch1[0] );
GV.h
GLOBAL int img_ch[2][20];
GLOBAL int img_ch1[2][48];
辺りだと思います。
プログラムを書いてくださればそれを理解するまでにらめっこしようとは考えていますが、「ここをこうしたら?」というご指摘も本当に助かります。
目標は、マップを自由に動き回れるキャラクターを目指しています。
何卒、忠告をお願いします。