#c# #xna #filenames #texture2d
#c# #xna #имена файлов #texture2d
Вопрос:
Я разрабатываю игру в xna, и мне нужно получить имя содержимого texture2d, чтобы узнать, является ли нажатое правильным, из-за того, что они будут заряжаться случайным образом, например
repeat= Content.Load<Texture2D>("repeat");
Мне понадобится что-то, что позже сообщит мне, что имя содержимого текстуры 2d — «повторение»
Спасибо!
Ответ №1:
Ответ на то, что вы спрашиваете, таков:
repeat.Name.ToString();
но в этом буквально нет смысла. Вы уже назвали Texture2D ‘repeat’?
Если вы меняете изображения случайным образом, загрузите все текстуры, а затем просто нарисуйте ту, которая была выбрана случайным образом:
repeat = Content.Load<Texture2D>("repeat");
repeat1 = Content.Load<Texture2D>("repeat1");
repeat2 = Content.Load<Texture2D>("repeat2");
public override void Draw(GameTime gameTime)
{
SpriteBatch.Begin();
if (random == 0)
{
SpriteBatch.Draw(repeat, Position, Color);
}
else if (random == 1)
{
SpriteBatch.Draw(repeat1, Position, Color);
}
else if (random == 2)
{
SpriteBatch.Draw(repeat2, Position, Color);
}
SpriteBatch.End();
}
Что-то вроде этого.
Комментарии:
1. А что, если у меня есть массив? Как я могу идентифицировать элемент по тому, что у него есть?
2. Так же, как вы бы сделали любой другой массив, что-то вроде этого: for (int i = 0; i < textureArray . Count; i ) { строковое имя = textureArray[i].Name. toString(); // Получить имя текстуры. if (name == «TheNameIWant») { //Сделать что-нибудь } }