我创建了一个包含10 x 10迷宫的2D数组。我现在遇到的问题是如何在迷宫jpg上移动精灵(当它实际上在桌子上工作时)。
如何将精灵移动一个特定的距离,使它看起来像是移动到下一个方格?
我有他们的键盘功能,并认为我需要这个代码。但我对将sprite移动到特定方块的逻辑感到困惑。
PlayerX = 1
PlayerY = 1
Up = MazeArray[PlayerX, PlayerY - 1];
Down = MazeArray[PlayerX, PlayerY + 1];
Left = MazeArray[PlayerX - 1, PlayerY];
Right= MazeArray[PlayerX + 1, PlayerY];
答案 0 :(得分:1)
你的画布应该包含整个迷宫和你的角色精灵。
你的精灵是一个半径为10的圆圈(所以它是20px乘20px)但是#34;正方形"你的迷宫只有6px乘6px(因为你的画布是60px乘60px,你说迷宫是10x10)。
为了使它看起来像是移动了一个方格,你需要让它首先适合一个单元格。 使画布更大(如果你想保持10px半径,则200px乘200px)。
然后你可以在绘制精灵时指定它的位置:
PlayerX=4; // 0 <= PlayerX < 10
PlayerY=5; // 0 <= PlayerY < 10
MyCanvas.arc(10+PlayerX*20, 10+PlayerY*20, 10, 0, 2 * Math.PI, true);