-1
我有一個Elevator類用於對象,我把它們放在一個數組中。 但是我的Prepare清除畫布的函數除了這個對象外還適用於屏幕上的其他所有東西。我嘗試過在重新繪製的函數中移動,並在那裏調用它們,但沒有任何東西可以解決它,而且如果此對象不是,我不明白其他人會受到什麼影響?畫布重畫不起作用
點擊明白我的意思: http://www.taffatech.com/Platformer.html
function drawElevators()
{
for (var i=0;i<Elevators.length;i++)
{
Elevators[i].y--;
ctx.fillStyle = "grey";
ctx.fillRect(Elevators[i].x,Elevators[i].y,Elevators[i].width,Elevators[i].height);
}
}
我的循環:
function Loop(){
Prepare();
movePlayer();
if(level == 1)
{
Level1();
}
else if(level == 2)
{
Level2();
}
else if (Level ==3)
{
Level3();
}
else
{
Level4;
}
if(ElevatorOn == true)
{
drawElevators();
}
checkCol();
drawPlayer();
requestAnimFrame(Loop);
}
但我只創建了一個電梯的對象,如果我想每級超過1臺電梯等什麼呢?我怎麼能這樣做,所以對象剛上升(y--),然後重新繪製對象? –
您已重新繪製該對象。但他們移動得太慢,所以他們都粘在一起。試着讓它們快速上升:'y- = 50',或者用例如不同的初始x座標。 – simonzack
使增量變大不會,問題在於不清除最後一個本身。那是什麼錯誤。就像玩家移動一樣,爲什麼不通過電梯:) –