Показать сообщение отдельно
Старый 03.03.2011, 00:06   #5
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Триггеры. Как сделать?

Проблема решена, вместо
EntityAlpha trigger, 0
Загрузил прозрачную текстуру и повесил ее на триггер.
Но если у кого, какие мысли будут, то готов выслушать (может я неправильно триггеры делаю?)


RBK, для проверки столкновений Pivot видимо подойдет, а вот для проверки "увидел ли игрок кубик", что-то сомневаюсь надо попробовать.
Хм, еще возникла идея загрузить модельку кубика, полностью покрытого прозрачной текстурой или этому задать.


Nex, IS_DEBUG это булевая переменная для отладки. В режиме отладки и расстановки я сам разумеется хочу видеть триггеры. Проблема возникает, когда IS_DEBUG = False.

Сообщение от Alex_Noc Посмотреть сообщение
я если честно НИХРЕНА не понял - русским языком пиши, чтобь было понятно.
Хм, попробую по другому описать.
Делаю небольшую игру от первого лица. Игрок бегает по уровню. Необходимо вызывать события, при достижении игрока некоторой точки, напр. забежал за угол здания или увидел какой то объект.
Проверку достижения точки сделал, разместив на карте Cube с именем и обработкой коллизии.
trigger = CreateCube(...) ;Создали
PositionEntity trigger, ... ; Задали позицию
EntityType trigger, COLLISION_TRIGGER ; Задали тип столкновения 
NameEntity trigger, "trigger" ; Задали имя
Если игрок столкнулся с ним, то считается, что игрок достиг заданной точки, т.е. триггер сработал. Разумеется игрок не должен видеть данный Cube, поэтому я его "скрыл", сделав полностью прозрачным через
EntityAlpha trigger, 0
Добавление триггера делаю при загрузке уровня, т.е. вызывается функция, выполняющая последовательно
1. Создание камеры и игрока
2. Загрузку основной сцены
3. Расстановку триггеров и дополнительных объектов.

Как это примерно выглядит, в коде
ОсновнойЦиклПрограммы
    ОбновитьСцену 
    UpdateWorld
    RenderWorld
КонецОсновногоЦикла
В ОбновитьСцену при наступлении определенных условий вызывается функции ОчиститьСцену и потом ЗагрузитьСцену (описана выше).
Однако после того, как загружаю сцену триггеры еще видны секунду где то, а потом за счет выставленной Aplha скрываются. Надо как то их отрисовать, чтобы не было видно.
(Offline)
 
Ответить с цитированием