我想做一個小行星遊戲,並設法讓小行星從一側移動到另一側直線到另一側,但是,它運行在無限的直線上,而不是像我想要的那樣從屏幕的所有邊反彈。該移動小行星C#XNA:如何讓小行星從屏幕的各個方向彈跳
代碼:
public void Update(GameTime gameTime)
{
position.X = position.X + speed;
position.Y = position.Y + speed;
if (position.X <= 0)
{
position.X = 0;
speed = random.Next(-3,3);
}
// Right Boundary
if (position.X >= 1280 - texture.Width)
{
position.X = 1280 - texture.Width;
speed = random.Next(-3,3);
}
// Top Boundary
if (position.Y <= 0)
{
position.Y = 0;
speed = random.Next(-3,3);
}
//Bottom Boundary
if (position.Y >= 1024 - texture.Height)
{
position.Y = 1024 - texture.Height;
speed = random.Next(-3,3);
}
}
我怎麼會去,使其停在一條直線上移動和反彈的屏幕的各邊修改這個代碼。 (位置和速度在超類中聲明,速度的值在小行星類構造函數中聲明) 任何建議,將不勝感激。乾杯