Я делаю простую игру на С#/XNA. Мои актеры сохраняют направление, в котором они намереваются двигаться, как Vector2
. В каждом цикле обновления я нормализую заголовок (поскольку способ его установки может привести к разной длине) и добавляю heading*Speed
к позиции для перемещения актера.
Это кажется неэлегантным. Логически направление не имеет длины, оно имеет единичную длину по определению. На практике постоянная нормализация имеет тривиальные дополнительные вычислительные затраты.
- Есть ли
NormalizedVector2
в XNA? - Как создать приложение, совместимое с
Vector2
XNA (т. е. его можно добавить к нему и т. д.)? РасширитьVector2
и переопределить свойствоLength
? - Существуют ли более серьезные концептуальные проблемы с тем, как я пытаюсь достичь того, чего я пытаюсь достичь?