0
我想要創建非常簡單的跳躍動畫 - 在用戶HITS空間後,角色跳轉(沿軸上移400px並向下)。問題是設置跳躍限制(即400px)。按壓空間啓動動畫,讓它不做任何改變,角色不停止在400px。如何創建跳躍動畫
public void keyPressed(KeyEvent e)
{
int key = e.getKeyCode();
if(key == KeyEvent.VK_SPACE) {
if(y > 400) {
dy = -1;
} else {
dy = 0;
}
}
}
y是字符座標,dy在actionPerformed()
方法中改變y。
因此,打到400px以下的空間會將dy更改爲-1,並且從未再次更改爲0。我怎麼解決這個問題?
我會認爲這是因爲它從來沒有再次擊中該方法。我想如果你按下空間,等待角色上升到400px,然後再次按下空間,它會回落。所以......你需要某種方式說:「嘿,如果這個人跳了,我需要檢查一下他的垂直位置,如果它是400px或更多,我需要把他放回去。」然後又有另一面旗幟說他正在墜落,並檢查以確保他安全地返回到地面。 –
雅,但你不能這麼做,因爲他們不是他們的關鍵新聞事件嗎?所以只有在按下某個鍵時纔會觸發該方法。在你的遊戲循環中你需要一些其他的方法來檢查他的身高,因爲他正在上升/下降以檢查他的y位置,然後作出相應的迴應。 –
有一個布爾isJumping,並使用它。 –