如果玩家移动到左侧世界墙外,它应如何显示在右侧墙上,如图所示:http://prntscr.com/va69f
答案 0 :(得分:2)
你可能会使用这样的条件:
var worldWidth:int = rightWall.x - leftWall.x;
if (newX < leftWall.x)
{
newX += worldWidth;
}
else if (newX > rightWall.x)
{
newX -= worldWidth;
}
即使您的左墙不在0位置,此解决方案也具有工作优势。 如果玩家在左侧或右侧移动到世界之外(因为您的问题与您链接的图片不一致),它也会起作用。
答案 1 :(得分:0)
你可以使用模运算。假设世界的大小为width
且玩家移动distance
,您可以这样做:
new_x = (old_x + distance) % width;
如果它越过世界的宽度,它的新x位置将在开头