Показать сообщение отдельно
Старый 23.10.2010, 20:34   #7
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений
(для 92 пользователей)
Ответ: Замедление времени...

ну я в общем попробовал сделать у себя так:

xGraphics3D 1024,768,32,False,False
xSetBuffer xBackBuffer()

pxCreateWorld (1,"вротмненоги")
pxSetGravity 0,-9.8,0

пишем переменную для нашего замедлителя (DeltaTime#) 
и снизу сразу же пишем переменную скорости обновления физки( мне лично так удобнее)

Global DeltaTime# = 1
Global PhysXSpeed# = 30


While Not xKeyHit(KEY_ESCAPE)
сдесь как раз пропписываем нашу фишку, деля скорость физики на замедлитель
pxRenderPhysic(PhysXSpeed#/DeltaTime#,0)

не забываем воткнуть обновление функции))
xUpdateDeltaTime()
xUpdateWorld
xRenderWorld

xFlip
Wend
End

Пишем функцию обновления нашего "замедлителя"

Function xUpdateDeltaTime()
	If xKeyDown(42) Then
		DeltaTime# = DeltaTime# - 0.05
	Else
		DeltaTime# = DeltaTime# + 0.03
	End If
	
	If DeltaTime# >=1 Then DeltaTime# = 1
	If DeltaTime# <=0.1 Then DeltaTime# = 0.1

End Function 

тоесть получается что если мы нажимаем кнопку (пусть это будет 42 - левый Shift) то у нас переменная DeltaTime# от еденицы сводится к ее десятой части - 0.1 и у нас получается что все плавно замедляется))
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb

Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)

Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
(Offline)
 
Ответить с цитированием