Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 2D-программирование

2D-программирование Вопросы, касающиеся двумерного программирования

Ответ
 
Опции темы
Старый 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)
 
Ответить с цитированием
Старый 27.10.2007, 11:11   #2
jimon
 
Сообщений: n/a
Re: Проблемка. Не срабатывает ограничение 0.о

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 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
ps. чисто визуальный анализ кода, нифига ты аналогично не написал
 
Ответить с цитированием
Старый 27.10.2007, 12:14   #3
Raiter
Гигант индустрии
 
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений
(для 92 пользователей)
Re: Проблемка. Не срабатывает ограничение 0.о

Бугога ) Ну точно глаз замылился. Я минут 10 пялился на этот код и так и не заметил ошибки вчера ))))
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ограничение мышки по вертикали KingMaks Blitz3D 15 02.01.2010 21:17
Подсчет и ограничение символов в Input() ArtemkA 2D-программирование 8 24.07.2009 02:37
Ограничение преремещения объекта областью видимости камеры Raiter 3D-программирование 2 10.01.2008 03:27
Ограничение наклона камеры в FPS Maxxx.!!!. 3D-программирование 21 28.12.2007 01:01
Ограничение по координатам Valet 2D-программирование 8 27.08.2007 23:45


Часовой пояс GMT +4, время: 18:18.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com