netlib.narod.ru< Назад | Оглавление | Далее >

Решение проблем

К счастью, в этой главе не слишком много моментов, могущих вызвать проблемы. Здесь мы коснулись только двух главных вопросов: тестовые модули и спрайты. Вы также можете столкнуться с проблемами, пытаясь запустить игру на Xbox 360, но я уже приводил набор относящихся к этому трюков и советов в конце главы 1; обратитесь к ним, если у вас возникают проблемы с вашей Xbox 360.

Другая проблема, с которой большинство, скорее всего, не столкнется, актуальна для читателей не имеющих опыта работы с исключениями, особенно в XNA: как понять почему было сгенерировано исключение и что надо сделать, чтобы исправить ситуацию. Всегда внимательно читайте текст исключения и попробуйте просмотреть полный стек трассировки, чтобы извлечь более полную информацию из внутренних исключений.

Точно так же, как и в DirectX для управляемого кода, иногда вы будете получать исключения из лежащих в основе библиотек DirectX, что может привести к путанице. Попробуйте поискать информацию по номеру конкретной ошибки в Интернете и MSDN. В ряде случаев контекст более важен, чем само сообщение об ошибке. Например, если происходит сбой при компиляции шейдера, вы можете получить странные коды ошибок, но вместо того, чтобы пытаться выяснить, что эти коды означают, убедитесь, что файл шейдера существует, что он может быть скомпилирован и что ваша аппаратура поддерживает его. Хороший инструмент проверки правильности файлов шейдеров — FX Composer от Nvidia.

Если вы столкнулись с проблемами, используя тестовые модули, пожалуйста, прочтите раздел о решении проблем из следующей главы, поскольку в ней также много говорится о тестировании модулей. Главное, всегда помните, что используемые вами тестовые модули ведут себя как обычные программы; рассматривайте их таким же образом. Отлаживайте их и пошагово проходите, так же, как поступаете с итоговым приложением.

И последнее, но не менее важное, — несколько советов об использовании спрайтов в XNA:


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz