Главная » Статьи » Заметки на полях

onScreenDebug
При отладке не всегда удобно выводить данные в консоль. Например, если имеется переменная, которая меняет значение каждый кадр, тем более если таких переменных несколько - разобраться в потоке данных, выливающемся в консоль становится проблемно. В этом случае разумно было бы использовать OnscreenText, однако для него надо писать дополнительно функции для форматирования данных, очистки и т.п. Разработчики панды позаботились об этой мелочи за нас - при импорте DirectStart создатся глобальная переменная onScreenDebug. Для включения вывода надо написать onScreenDebug.enabled = True
После этого можно выводить в отладку либо информацию привязанную к ключу onScreenDebug.add('position', myNodePath.getPos()), либо просто текст onScreenDebug.append("Hello World!"). Замечу, что значение ключей сохраняется, даже если их не обновлять, а вот текст, добавленный с помощью append стирается, так что его необходимо обновлять каждый кадр.
Для тех, кому не нравится расцветка/размер/положение и т.п. - у onScreenDebug есть свойство onScreenText, которое, собственно и является экземпляром OnscreenText. Соответственно, можно менять его свойства стандартным для него способом - например:
onScreenDebug.onScreenText['bg'] = (0,0,0,0.3)
onScreenDebug.onScreenText['fg'] = (0,1,0,0.8)

только перед этим нужно вызвать метод onScreenDebug.load(), иначе может оказаться, что onScreenText ещё не инициализирован, т.е. имеет значение None.

Другой вариант управлять свойствами onScreenDebug - прописать их в config.prc. Возможные свойства:
on-screen-debug-enabled
on-screen-debug-font
on-screen-debug-font-scale
on-screen-debug-fg-color
on-screen-debug-bg-color
on-screen-debug-fg-alpha
on-screen-debug-bg-alpha

Символ между ключом и значением может быть ~ либо =. Первый вариант - старое значение, второй вариант - значение обновлено в текущем кадре.

Категория: Заметки на полях | Добавил: ninth (06.04.2010)
Просмотров: 3673 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Онлайн всего: 1
Гостей: 1
Пользователей: 0