特定の座標への移動について
Posted: 2010年11月11日(木) 12:51
はじめまして、ばそばそと申します。
現在、卒業制作でゲームを作っています。
そこであるキャラに特定の座標まで動く処理をしたいのですが、うまくできません。
理想の動き方は
(例)
①右矢印キーを1回押す(押しっぱなしではないです)
②X座標の300までアニメーションしながら一定速度で進む
③X座標300に到着し、右矢印キーを一回押す(または左矢印キーを一回押す)
④X座標の500までアニメーションしながら一定速度で進む(左矢印の場合はX座標100まで戻る)
という感じです。
自分でプログラムを書いてみたら、十字キーを押してる間にしか移動しなかったり(この時はアニメーションしてませんでした)、パッと瞬間移動するプログラムしかできませんでした;
説明がわかりにくいかもしれませんが、是非わかる方がいたら教えてください。
if( SGCheckKeyboard( KD_DAT, DIK_RIGHT ) && m_ptPos.x <= 300 ){
AnimSetup(2); //アニメーション(2)を行う
m_ptPos.x += 2; //X座標を+2の速度で動く
}
ちなみにこんなプログラムにfor文を加えてみたりしたのですが、なかなか上手くいきませんでした。
現在、卒業制作でゲームを作っています。
そこであるキャラに特定の座標まで動く処理をしたいのですが、うまくできません。
理想の動き方は
(例)
①右矢印キーを1回押す(押しっぱなしではないです)
②X座標の300までアニメーションしながら一定速度で進む
③X座標300に到着し、右矢印キーを一回押す(または左矢印キーを一回押す)
④X座標の500までアニメーションしながら一定速度で進む(左矢印の場合はX座標100まで戻る)
という感じです。
自分でプログラムを書いてみたら、十字キーを押してる間にしか移動しなかったり(この時はアニメーションしてませんでした)、パッと瞬間移動するプログラムしかできませんでした;
説明がわかりにくいかもしれませんが、是非わかる方がいたら教えてください。
if( SGCheckKeyboard( KD_DAT, DIK_RIGHT ) && m_ptPos.x <= 300 ){
AnimSetup(2); //アニメーション(2)を行う
m_ptPos.x += 2; //X座標を+2の速度で動く
}
ちなみにこんなプログラムにfor文を加えてみたりしたのですが、なかなか上手くいきませんでした。