我知道这有很多代码可以使用,但我已经让它成功地从左到右,从上到下工作。麻烦的是当我尝试添加它时,精灵中的反方式只是疯狂地上下移动超快速。我不明白为什么
这就是我的if语句的样子,只是它的一个小例子。
if (Player1_Rect.Left <= Screen_Bounds.Left)
{
Sprite_1Position.X = Screen_Bounds.Right;
float Random_Y_Axis = r.Next(0, Screen_Height);
Sprite_1Position.Y = Random_Y_Axis;
//this works as I want it to.
}
if (Player1_Rect.Right <= Screen_Bounds.Right)
{
Sprite_1Position.X = Screen_Bounds.Left;
float Random_Y_Axis = r.Next(0, Screen_Height);
Sprite_1Position.Y = Random_Y_Axis;
//this messes everything up.
}
答案 0 :(得分:0)
问题在于if语句:if (Player1_Rect.Right <= Screen_Bounds.Right)
。你真正想要的是玩家矩形的左边是更大而不是视口的右边,而不是更少。您使用播放器左侧而不是播放器右侧的原因是因为您希望播放器在再次出现在左侧之前完全脱离屏幕。您的固定代码是:
if (Player1_Rect.Left >= Screen_Bounds.Right)