如果玩家移动到左侧世界墙之外,我该如何做到这一点,它应该出现在右侧墙,就像图片所示: http: //prntscr.com/va69f
问问题
49 次
2 回答
2
您可能会使用这样的条件:
var worldWidth:int = rightWall.x - leftWall.x;
if (newX < leftWall.x)
{
newX += worldWidth;
}
else if (newX > rightWall.x)
{
newX -= worldWidth;
}
即使您的左墙不在位置 0,此解决方案也可以工作。如果玩家在左侧或右侧移动到世界之外,它也可以工作(因为您的问题与您链接的图片不一致)。
于 2013-03-06T22:19:47.493 回答
0
你可以使用模运算。假设世界的大小width
和玩家移动distance
,你可以这样做:
new_x = (old_x + distance) % width;
如果它超过世界的宽度,它的新 x 位置将在开头
于 2013-03-06T21:33:11.817 回答