Глава XVII. Машины, лифты, платформы. | |||
§ 17.2 Простой лифт | |||
В этой статье мы расскажем о том, как можно сделать лифт, который
будет ездить между двумя этажами и вызываться кнопками. Подобный лифт
есть на карте CS_SIEGE. Для создания лифта нам понадобятся следующие энтити-объекты: Определяем форму лифта. Превращаем его в func_door. Чтобы лифт ездил вверх-вниз в параметре «Angle» необходимо выставить значение «Up». Также важно выставить параметр «Delay before close: -1», чтобы лифт оставался на новом этаже и автоматически не возвращался в исходное положение. Также необходимо создать на каждом из двух этажей по кнопке (func_button), которая будет приводить лифт в движение через несколько секунд. | |||
| |||
Одним из самых важных параметров лифта является «Lip», который используется для изменения расстояния перемещения лифта. Дело в том, что по умолчанию лифт поднимается на расстояние своей высоты. Например, у нас высота лифта составляет 120 юнитов. По умолчанию он поднимется именно на такое расстояние. Расстояние же между двумя этажами у нас 300 юнитов. Это означает, что лифт не доедет до второго этажа и «застрянет» между этажами. В связи с этим расстояние, на которое перемещается лифт, необходимо увеличить. Это как раз и позволяет сделать параметр «Lip». Причем отрицательное значение параметра «Lip» увеличивает расстояние, а положительное — сокращает. На схеме ниже лифт показан в нижней позиции (на первом этаже). Менее контрастными цветами показано его положение при значении «Lip=0». Пунктиром показано положение лифта в конечной позиции (на втором этаже). Размерными линиями показано, какое расстояние считается за «Lip». У нас это расстояние составило 180 юнитов, следовательно, в параметр «Lip» мы должны записать значение -180. Как уже говорилось выше, на каждом из этажей необходимо создать по одной кнопке func_button, которые будут запускать лифт. Свойства этих кнопок выглядят так: | |||
| |||
elevator.zip [25Кб] — в архиве карта-пример в форматах BSP и RMF. |