Предисловие.
В данной статье, вы узнаете как:
- Создавать переключатели.
- Создать волнообразные текстуры.
- Сделать телевизор.
Создаем переключатель.
Перед началом, скачайте спрайты переключателя на MEGA.
Затем, через Slade, добавьте mysw1 в TEXTUREx. Как это делается, я разбирал в уроке ANIMDEFS. Делаем анимированную текстуру.
Далее, в ANIMDEFS, напишите следующие строки.
switch MYSW1 on pic MYSW2 tics 0
switch MYSW2 off pic MYSW1 tics 0
Синтаксис у switch, выглядит так:
switch спрайт_off режим pic спрайт_on tics время_показа
switch — задает анимацию переключения спрайта, при нажатии на рычаг.
- Если режим ON, то задается переход от спрайт_OFF в спрайт_ON
- Если режим OFF, то наоборот, задается переход от спрайт_ON в спрайт_OFF.
switch MYSW1 on pic MYSW2 tics 0
время_показа у нас равно 0 тиков, это значит, что картинка будет проигрываться бесконечно.
Вот, так выглядит переключение при режиме ON:
А, вот так при OFF:
В игре, оно выглядит так:
Создаем волнообразные текстуры.
Для того, чтобы создать волнообразную текстуру, нужно прописать простую строку:
warp texture FLAT20
Синтаксис тут следующий:
warp texture название_текстуры
В данном случае, я использовал текстуру FLAT20, для показа эффекта волны.
Также, вместо warp, можно использовать, warp2, для более приятного эффекта.
warp2 texture FLAT20
Создаем телевизор.
Сначала, скачайте текстуру камеры на MEGA. И добавьте её к себе в wad.
В ANIMDEFS, можно назначить текстуре, изображение камеры. Делается это, при помощи cameratexture.
Пропишите следующий код в ANIMDEFS:
cameratexture CAM1 256 256
Синтаксис, тут следующий:
cameratexture название_текстуры разрешение_x разрешение_y
- название_текстуры — задает текстуру, которая впоследствии, заменится на изображение камеры.
- разрешение_x / разрешение_y — задает разрешение изображения внутри текстуры.
Меняя разрешение текстуры, мы меняем размер экрана. Меняя разрешение_x / разрешение_y, мы меняем количество пикселей на экране.
Теперь, в Doom Builder у вас должна появиться текстура CAM1. Она, будет выглядеть по другому, так и должно быть.
Теперь, осталось привязать камеру нашей текстуре. Откройте ACS, и пропишите там следующее:
SetCameraToTexture(cameraTidInComputer,"CAM1",90);
Разберем синтаксис:
SetCameraToTexture(tid_камеры, "cameratexture", угол_обзора);
- tid_камеры — задает tid камеры.
- cameratexture — задает название текстуры, изображение которой, будет заменятся на изображение камеры.
- угол_обзора — задает угол обзора камеры.
В этой строке:
SetCameraToTexture(cameraTidInComputer,"CAM1",90);
Замените cameraTidInComputer на tid камеры.
В итоге, немного поигравшись, вы сможете добиться следующего:
Кстати, так выглядит код телевизора, представленного выше:
script "CompBackground1" (void){
cameraTidInComputer = 21;
SetCameraToTexture(cameraTidInComputer,"CAM1",90);
Delay(35*2);
cameraTidInComputer = 23;
SetCameraToTexture(cameraTidInComputer,"CAM1",90);
Delay(35*2);
cameraTidInComputer = 11;
SetCameraToTexture(cameraTidInComputer,"CAM1",90);
Delay(35*2);
cameraTidInComputer = 22;
SetCameraToTexture(cameraTidInComputer,"CAM1",90);
Delay(35*2);
restart;
}