所以在使用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));
它有点有效但有时会导致敌人在屏幕中间而不是底部产卵。我做错了什么?
答案 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 =屏幕的底部 - 冲刺高度的一半(你确定要使用一半吗?)。