Показать сообщение отдельно
Старый 05.10.2007, 08:50   #2
jimon
 
Сообщений: n/a
Re: Плавное перемещение камеры

1) пишем вот такую вот функцию
Function AnimateValue#(in#,ch#,speed#)
	If Abs(ch - in) <= speed Then Return ch
	Return in + Sgn(ch - in) * speed
End Function
2) делаем глобальные переменые где то
Global CameraAnimate%,CamAnimX#,CamAnimY#,CamAnimZ#

3) при нажатии на movA просто пишем
if Pres_Button(movA) then
CameraAnimate = 1
CamAnimX = 110
CamAnimY = 0
CamAnimZ = 110
end if
4) далее пишем такую вот фигню примерно :
if CameraAnimate = 1 then
local camx#,camy#,camz#
camx = AnimateValue(entityx(camera),CamAnimX,1.0)
camy = AnimateValue(entityy(camera),CamAnimY,1.0)
camz = AnimateValue(entityz(camera),CamAnimZ,1.0)
PositionEntity camera,camx,camy,camz

тут проверяем растояние от камеры до конечной точки
if distance < 10 then CameraAnimate = 0

end if
ps. ето только анимация движения по координатам
я думаю анимацию поворота и самому можно доделать аналогично
ps2. мой метод жостко кривой, но рабочий
 
Ответить с цитированием