среда, 12 сентября 2012 г.

9. Действие при запуске класса. Включение лога и вывод цветного сообщения(`log, PostBeginPlay()) (UnrealScript, UDK)

Для удобства работы с редактором, включим вывод log'а. В нём будут выводиться данные, которые нам будут нужны.

Находим ярлык UDK Editor. Найти его можно, в меню пуск или на рабочем столе. Правой кнопкой мыши открываем его свойства и добавляем "-log" без кавычек. Или если ярлыка UDK Editor по какой-то причине нет, то можно его создать от файла UDKLift.exe и в свойствах нового ярлыка добавить  editor (чтобы запускался редактор).
Свойства ярлыка должны выглядеть так:
E:\UDK\UDK-2011-11\Binaries\UDKLift.exe editor -log


Теперь при запуске редактора будет выводится log.


Функция PostBeginPlay() вызывается сразу после запуска класса.

Запишем:
simulated function PostBeginPlay()
{
}

Пусть при запуске класса будет выводится какое-нибудь сообщение(Например: Programkin.blogspot.com).

simulated function PostBeginPlay()
{
`log("Programkin.blogspot.com");
}

И чтобы оно выделялось на общем фоне раскрасим его в зелёный цвет. Чтобы раскрасить одну строку необходимо:
-Поменять цвет шрифта на нужный вам
-Вывести сообщение
-Поменять цвет шрифта на стандартный. Если не поменять, то весь последующий текст будет того цвета который вы задали.

simulated function PostBeginPlay()
{
`log("0101",, 'color'); //Смена цвета.1 атрибут код цвета текста (0101 - зелёный). Второй атрибут пропускаем. Третий атрибут color это ключевое слово указывающее на то что мы изменяем цвет.
`log("Programkin.blogspot.com");
`log("",, 'color'); //Сброс цвета текста
}

Для примера создадим класс TestMessage от класса Actor и сделаем его размещаемым(placeable) на уровне

class  TestMessage  extends Actor
placeable
ClassGroup(test);

simulated function PostBeginPlay()
{
`log("0101",, 'color');
`log("Programkin.blogspot.com");
`log("",, 'color');
}

DefaultProperties
{
}


Размещаем на уровне и во время запуска класса появится сообщение Programkin.blogspot.com
Хочу заметить что функция PostBeginPlay() вызывается не при старте уровня, а именно при запуске класса. Если вызвать наш класс TestMessage  уже после запуска уровня (например через Kismet по действию триггера), то сообщение выведется именно при его появлении.


Комментариев нет:

Отправить комментарий