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
아니요, 각 치수의 크기입니다. 이 구조체는 맵과 정확히 같은 크기 여야합니다. 그래서'new int [map.GetLength (1), map.GetLength (0)];'('x, y'를 했으므로 'y, x'를 할 수 있고 반대로 할 수있다.) –
아! 좋아, 이제는 그것에 대해 생각하는 것이 완벽하게 이해된다 : p. 나를 도와 주셔서 감사합니다. – Corey