Тема: FAQ по B3D
Показать сообщение отдельно
Старый 27.08.2007, 13:59   #10
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: FAQ по B3D

ВОт про мерцание света(так лучше чем через рандом, ПИШУ все как было):


ВОПРОС :
Мне надо чтоб свет мигал ,более реалистичние. Сейчас я делаю так [LightRange light,Rnd(5,15)]
ОТВЕТ:

А зачем менять расстояние освещения, когда нужно скрывать\показывать свет:
Задаешь время работы и время паузы:
PauseTime = 100;Время паузы в миллисекундах
WorkTime = 500;Время работы в миллисекундах
RndPauseTime = 35;Отклонение времени паузы
RndWorkTime = 85;Отклонение времени работы
;В цикле проверяешь:
If (MilliSecs() - Timer) > ConstraintTime Then
If (Status =1) Then
ConstraintTime = PauseTime +Rand(-RndPauseTime, RndPauseTime)
HideEntity(Light)
Else
ConstraintTime = WorkTime +Rand(-RndWorkTime, RndWorkTime)
ShowEntity(Light)
EndIf
Status =1 -Status
Timer =MilliSecs()
EndIf


Отклонение времени можно и не делать (убрать Rand'омы из кода), но так прикольнее



ПС Этим кодом можно сделать и огонь и мерцающуюю лампу , да много что ...
ППС Оригинальный код писал Platon
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Yalenz (02.03.2009)