正如你在上面的图片中看到的那样,比利,我们的小橙色穿着的男人,从屏幕左侧出现并出现在右侧。
这就是我想要发生的事情,但是,我似乎无法复制这种效果(我在Paint.net中得到了一些修改)。
基本上,如果球员x的位置是负的,它应该包裹到另一侧。如果x
大于宽度,它应该包裹到左侧。
需要时画两次。
void Draw(SpriteBacth batch)
{
batch.Draw(Player.texture, Player.Position, player.Source, player.Color);
if (Player.X <0)
{
bacth.Draw(Player.texture, Player.Position + ScreenHorizontalSize, player.Source, Player.Color);
}
else if (Player.X + Player.Size.Width> ScreenHorizontalSize.Width)
{
bacth.Draw(Player.texture, Player.Position - ScreenHorizontalSize, player.Source, Player.Color);
}
}
void Update()
{
if (Player.X < -Player.Size.Width) Player.X += ScreenHorizontalSize.Width;
if (Player.X > ScreenHorizontalSize.Width) Player.X -= ScreenHorizontalSize.Width;
}
当然,当你检查与玩家发生碰撞时,你必须记住这一点,你也必须检查这两个位置。