0
public void Draw(SpriteBatch theSpriteBatch)
{
Random rand = new Random();
for(int y = 0; y < map.GetLength(0); y++) {
for(int x = 0; x < map.GetLength(1); x++) {
theSpriteBatch.Draw(tile[rand.Next(0,3)], new Rectangle(x*tileWidth,y*tileHeight,tileWidth,tileHeight),
Color.White);
}
}
}
当我这样做时,它只是闪烁的瓷砖,并不断重新绘制它们。我只做一次绘制的随机效果怎么办?有没有办法让我用鼠标点击这些瓷砖,并让它们变化?另外,有没有办法让一块瓷砖比其他瓷砖更普遍?C#XNA随机平铺引擎
谢谢!我不知道每一帧画都跑了,但是我发现当我看到它闪烁时就是这个问题。我只是不知道如何处理随机,但我现在明白了。尽管我的索引超出了tileNums数组的范围,但有一个问题。我创建这样的数组int [,] tileNums = new int [0,3];对? – Corey 2012-02-27 07:19:17
不,那些是每个维度的大小。这个结构应该和你的地图大小完全一样,所以我会做'new int [map.GetLength(1),map.GetLength(0)];'(因为我做了'x,y',当然你可以做'y,x'并将它们反转) – 2012-02-27 07:23:59
啊!好吧,现在我想到它是非常有意义的:p。非常感谢帮助我 – Corey 2012-02-27 07:28:50