Показать сообщение отдельно
Старый 27.10.2007, 03:46   #1
Raiter
Гигант индустрии
 
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений
(для 92 пользователей)
Проблемка. Не срабатывает ограничение 0.о

Добавил плавное перемещение для игрока. Тоесть он постепенно набирает скорость при движении и так же постепенно останавливается. Дело то конечно 10 секунд, но...

Прописываю плавное перемищение по Z (вперед-назад):
[blitz]
...

If KeyDown(Key_W) And Player\ZSpeed < Player\MaxSpeed Then Player\ZSpeed = Player\ZSpeed + 0.01
If KeyDown(Key_S) And Player\ZSpeed > -Player\MaxSpeed Then Player\ZSpeed = Player\ZSpeed - 0.01

If (Not KeyDown(Key_W)) And (Not KeyDown(Key_S)) And Player\ZSpeed <> 0 Then
If Player\ZSpeed > 0 Then Player\ZSpeed = Player\ZSpeed - 0.01
If Player\ZSpeed < 0 Then Player\ZSpeed = Player\ZSpeed + 0.01
End If

...

MoveEntity Player\Entity,0,0,Player\ZSpeed
[/blitz]

Всё отлично работает. Аналогично пишу для Х:

[blitz]
...
If KeyDown(Key_A) And Player\XSpeed < Player\MaxSpeed Then Player\XSpeed = Player\XSpeed - 0.01
If KeyDown(Key_D) And Player\XSpeed > -Player\MaxSpeed Then Player\XSpeed = Player\XSpeed + 0.01

If (Not KeyDown(Key_A)) And (Not KeyDown(Key_D)) And Player\XSpeed <> 0 Then
If Player\XSpeed > 0 Then Player\XSpeed = Player\XSpeed - 0.01
If Player\XSpeed < 0 Then Player\XSpeed = Player\XSpeed + 0.01
End If

...

MoveEntity Player\Entity,Player\XSpeed,0,0
[/blitz]

Но оно не работает.... Скорость набирается больше установленного предела. Не могу понять в чем дело. Может это у меня просто глаз замылился ночью и я не вижу ошибки?
(Offline)
 
Ответить с цитированием