キャラクターに時間内を滑るように移動をさせたい
Posted: 2010年8月31日(火) 11:48
はじめまして、いつもお世話になっております。
左右どちらでもいいのでキーを押します。
キーを押している間は通常移動をさせて
キーを放した後、滑る時間を利用してキャラクターを滑らせたいと思っています。
//*_ キャラクターの初期位置及び滑る時間
int x = 320;
int y = 240;
int vx = 0;
float speed = 0.1f;
int slip_time = 30;
int SlipTime = 0;
char KeyBuf[ 256 ] ;
//*_ 滑る時間が0以上あるなら,時間を減らす
if(SlipTime > 0)
{
SlipTime--;
//*_ 時間が0を下回ったら,時間を0にする
if(SlipTime <= 0) SlipTime = 0;
}
//*_ 滑っていなければ
else
{
// キー入力のあと,SlipTime にsliptimeを入れる
if(KeyBuf[KEY_INPUT_LEFT] == 1) SlipTime = slip_time;
// ここからvxにspeedをどのように入れるかが分かりません
}
// vxをキャラクターのxに加算する
x +=vx;
// はみ出し処理
if(x < 0) x =0;
if(x > 640-32) x = 640-32;
//*_ キャラクター
DrawBox(x,y,x+32,y+32,GetColor(0,0,255),TRUE) ;
滑る時間までは書けますがその後のキー入力の部分がうまく書けません。
説明下手で申し訳ありませんが
ご教授頂けないでしょうか?よろしくお願いいたします。
左右どちらでもいいのでキーを押します。
キーを押している間は通常移動をさせて
キーを放した後、滑る時間を利用してキャラクターを滑らせたいと思っています。
//*_ キャラクターの初期位置及び滑る時間
int x = 320;
int y = 240;
int vx = 0;
float speed = 0.1f;
int slip_time = 30;
int SlipTime = 0;
char KeyBuf[ 256 ] ;
//*_ 滑る時間が0以上あるなら,時間を減らす
if(SlipTime > 0)
{
SlipTime--;
//*_ 時間が0を下回ったら,時間を0にする
if(SlipTime <= 0) SlipTime = 0;
}
//*_ 滑っていなければ
else
{
// キー入力のあと,SlipTime にsliptimeを入れる
if(KeyBuf[KEY_INPUT_LEFT] == 1) SlipTime = slip_time;
// ここからvxにspeedをどのように入れるかが分かりません
}
// vxをキャラクターのxに加算する
x +=vx;
// はみ出し処理
if(x < 0) x =0;
if(x > 640-32) x = 640-32;
//*_ キャラクター
DrawBox(x,y,x+32,y+32,GetColor(0,0,255),TRUE) ;
滑る時間までは書けますがその後のキー入力の部分がうまく書けません。
説明下手で申し訳ありませんが
ご教授頂けないでしょうか?よろしくお願いいたします。