C# 无法选择要随机绘制的精灵
我正在尝试自己动手开发我的第一款XNA游戏,只是看看教程的来源,思考自己的实现和解决方案。目前,我正在制作一个泡泡射击游戏,我正在各自的位置绘制泡泡 问题是,我实现了两种类型的气泡。程序通过随机生成器选择要绘制的类型(0或1表示蓝色或红色),并根据结果将所选类型绘制到屏幕中。这种方法不起作用,我已经耗尽了我的搜索资源。代码如下C# 无法选择要随机绘制的精灵,c#,random,xna,generator,sprite,C#,Random,Xna,Generator,Sprite,我正在尝试自己动手开发我的第一款XNA游戏,只是看看教程的来源,思考自己的实现和解决方案。目前,我正在制作一个泡泡射击游戏,我正在各自的位置绘制泡泡 问题是,我实现了两种类型的气泡。程序通过随机生成器选择要绘制的类型(0或1表示蓝色或红色),并根据结果将所选类型绘制到屏幕中。这种方法不起作用,我已经耗尽了我的搜索资源。代码如下 for (int colBubCounter = 0; colBubCounter < maxVerticalBubNumber / 2; colBubCounte
for (int colBubCounter = 0; colBubCounter < maxVerticalBubNumber / 2; colBubCounter++)
{
for (int rowBubCounter = 0; rowBubCounter < maxHorizontBubNumber; rowBubCounter++)
{
Rectangle bubbleDrawRectangle = new Rectangle(initDrawCoordX, initDrawCoordY, bubbleWidth, bubbleHeight);
//Randomizamos el tipo de burbujar a dibujar ( 0 = blue, 1 = red)
bubbleType = randomGenerator.Next(0, 1);
if (bubbleType == 0) spriteBatch.Draw(blueBubbleSprite, bubbleDrawRectangle, Color.White);
else if (bubbleType == 1) spriteBatch.Draw(redBubbleSprite, bubbleDrawRectangle, Color.White);
//Cada vez que dibujamos uno, corremos la coordenada a dibujar en el otro ciclo en 10 pixeles
initDrawCoordX += bubbleWidth;
}
initDrawCoordX = 0;
initDrawCoordY += bubbleHeight;
}
我使用的不是类,也不是原始代码,因为我正在进行增量开发,一旦准备好了,我将对类和其他奇特的东西做同样的事情
谢谢你的帮助,如果我在这个问题上做错了什么,请告诉我,这是我第一次来这里。:) 您正在使用随机方法Next(),2个重载告诉它范围在0到1之间,这意味着它将始终
返回0
这是因为上界(在本例中为1)是排他性的,如从0到1,但不包括1。。。所以它是从0到0
尝试bubbleType=randomGenerator.Next(2)代码>
或者bubbleType=randomGenerator.Next(0,2)代码>
以及对随机类的提示,尝试将其设置为类级别,并仅使用1个对象生成更多随机数(创建新对象通常会更频繁地给出与其伪随机数相同的数字)随机生成器。下一步(0,1)
将始终返回0,因为maxValue(上限)是独占的。你需要使用randomGenerator。接下来(0,2)
来生成0和1。你写了很多东西,但没有真正弄清楚你在问什么,据我所知,你想要生成随机数,并根据它们给你的泡泡涂上颜色,你在问如何做到这一点?@LyubenTodorov,很抱歉。是的,那正是我的问题。哇。成功了。看来我的随机发生器的来源是错误的。谢谢!谢谢你的提示,我不知道最后一部分。
System.Random randomGenerator = new System.Random();