2012-03-23 3 views
0

Я пытаюсь создать игру поиска слов (вроде Wordament, но намного проще).Жесты и прямоугольники

Я полагаю, что буду показывать текст (слово jumble), используя spriteBatch.DrawString. Затем я рисовал прямоугольники над буквами, а затем читал слова внутри прямоугольников ...

Моя первая проблема пытается нарисовать прямоугольники, используя жест свободного перетаскивания. Я попробовал несколько примеров рисования прямоугольников, но все они находятся в методе «рисования». Не в методе HandleTouchInput (я нашел этот метод для обработки жестов).

У меня вопрос состоит из двух частей.

  1. Могу ли я выполнить то, что я хочу описать выше? С помощью spriteBatch.DrawString и прямоугольников для чтения выбранных букв?
  2. Если да, как рисовать прямоугольники с помощью жестов?

Если у вас есть примеры или предложения, пожалуйста, дайте мне знать.

Спасибо!

ответ

1

Как правило, вы не собираетесь рисовать что-либо в методе HandleTouchInput. Вместо этого вы обрабатываете ввод и создаете новый спрайт, который будет нарисован позже в пакете спрайтов. Что-то вроде следующего псевдокода:

HandleTouchInput(vector2d begin, vector2d end) 
{ 
    sprite tempRectangle = new Rectangle(begin, end); 
    string foundLetters; 
    //search through the letters in your puzzle to find which ones were selected in the rectangle 
    foreach(letter in wordPuzzleSprites) 
    { 
     //if you found one, then add it to the list of letter that were selected 
     if(letter.isWithin(tempRectangle)) 
     { 
      foundLetters.add(letter.letterCharacter()); 
     } 
    } 
    //check your found letter against the list of words 
    foreach(word in wordPuzzleList) 
    { 
     if(foundLetters == word) 
     { 
      //mark the word as found, and add the rectangle sprite to the collection of sprites to be drawn 
      CollectionOfSprites.add(tempRectangle); 
     } 
    } 
} 
Смежные вопросы