2
如果我向右或向左,向上或向下移動播放器,則向該方向移動5px。 但是,如果我按下並右鍵例如播放器正在向右移動5像素和向下移動5像素,這是從前一個位置約7像素,而不是5px。球員運動對角線 - 太快|| NodeJS
我可以添加下一個IF語句:if(上下),然後SPDX和SPDY =(maxSpd - maxSpd√2)/或簡單-25%?
但我認爲已經是我的代碼是有點亂......
任何好的解決方案,這是快速,看起來很簡單? :)
這是我的代碼:
self.updateSpd = function(){
if(self.pressingRight){
self.spdX = self.maxSpd;
if(self.pressingShift && self.stamina > 0){
self.spdX += self.maxRun;
self.stamina --;
}
}
else if(self.pressingLeft){
self.spdX = -self.maxSpd;
if(self.pressingShift && self.stamina > 0){
self.spdX -= self.maxRun;
self.stamina --;
}
}
else{
self.spdX = 0;
}
if(self.pressingUp){
self.spdY = -self.maxSpd;
if(self.pressingShift && self.stamina > 0){
self.spdY -= self.maxRun;
self.stamina --;
}
}
else if(self.pressingDown){
self.spdY = self.maxSpd;
if(self.pressingShift && self.stamina > 0){
self.spdY += self.maxRun;
self.stamina --;
}
}
else{
self.spdY = 0;
}
}
看起來不錯,乾淨,什麼是最重要的...我明白了:) 我會嘗試下班後的傍晚,並避免停止與向上/向下按我會關閉它在IF語句走右(右/謝謝@Ryan! – BatOOn
我等不及了,通過TeamViewer檢查工作,所有工作都很好!)謝謝! – BatOOn
@BatOOn:樂於幫忙! – Ryan