使用xna在新方向上产生敌人

时间:2014-07-28 16:51:49

标签: xna xna-4.0

所以在使用xna创建教程时,我学会了使用此代码从左侧生成的精灵产生

Vector2 position = new Vector2(GraphicsDevice.Viewport.Width +enemyTexture.Width / 2, random.Next(100, GraphicsDevice.Viewport.Height -100));

我想改变它,所以精灵会出现在底部并移到顶部所以我尝试将其改为此

Vector2 position = new Vector2(GraphicsDevice.Viewport.Height + enemyTexture.Height / 2, random2.Next(100, GraphicsDevice.Viewport.Width - 100));

它有点有效但有时会导致敌人在屏幕中间而不是底部产卵。我做错了什么?

1 个答案:

答案 0 :(得分:0)

Vector2结构分别要求对应于X轴和Y轴的两个参数。

您正在以错误的方式设置您的位置,方法是将X值设置为屏幕底部的任何值,并将Y设置为"某处"在屏幕上使用随机。

尝试更改参数的顺序,如下所示:

Vector2 position = new Vector2(random2.Next(100, GraphicsDevice.Viewport.Width - 100), GraphicsDevice.Viewport.Height + enemyTexture.Height / 2);

你正在设置:

X =沿屏幕X轴随机的某处。 Y =屏幕的底部 - 冲刺高度的一半(你确定要使用一半吗?)。