Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法选择要随机绘制的精灵_C#_Random_Xna_Generator_Sprite - Fatal编程技术网

C# 无法选择要随机绘制的精灵

C# 无法选择要随机绘制的精灵,c#,random,xna,generator,sprite,C#,Random,Xna,Generator,Sprite,我正在尝试自己动手开发我的第一款XNA游戏,只是看看教程的来源,思考自己的实现和解决方案。目前,我正在制作一个泡泡射击游戏,我正在各自的位置绘制泡泡 问题是,我实现了两种类型的气泡。程序通过随机生成器选择要绘制的类型(0或1表示蓝色或红色),并根据结果将所选类型绘制到屏幕中。这种方法不起作用,我已经耗尽了我的搜索资源。代码如下 for (int colBubCounter = 0; colBubCounter < maxVerticalBubNumber / 2; colBubCounte

我正在尝试自己动手开发我的第一款XNA游戏,只是看看教程的来源,思考自己的实现和解决方案。目前,我正在制作一个泡泡射击游戏,我正在各自的位置绘制泡泡

问题是,我实现了两种类型的气泡。程序通过随机生成器选择要绘制的类型(0或1表示蓝色或红色),并根据结果将所选类型绘制到屏幕中。这种方法不起作用,我已经耗尽了我的搜索资源。代码如下

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();