-1
我正在使用C++和SDL2製作類似口袋妖怪的遊戲。我試圖完成它的網格移動(其中角色按瓦片移動瓦片,每個瓦片移動32px)。使用SDL2平滑網格移動?
我已經完成了瓷磚運動的瓷磚,但它看起來不光滑,看起來很「機器人」。
這是我到目前爲止有:
overflowY += deltaY * elapsedTime;
overflowX += deltaX * elapsedTime;
if (overflowX >= 32){
_x += 32;
overflowX = 0;
}else if (overflowX <= -32){
_x -= 32;
overflowX = 0;
}
if (overflowY >= 32){
_y += 32;
overflowY = 0;
}else if(overflowY <= -32){
_y -= 32;
overflowY = 0;
}
AnimatedSprite::update(elapsedTime);
DELTAX是1或-1(右或左)*的速度,同樣與移動deltaY。 我的代碼實際上可行,但正如我所說的,它看起來並不平坦。
任何猜測?
另外你可能想介紹加速。你的動作應該包括三個階段 - 加速,恆速和減速。 – rbaleksandar
你對精靈位置有什麼用處?只有'_x'和'_y'或'overflow *'呢? –
@TobiasWollgam只有_x和_y。 – James