Показать сообщение отдельно
Старый 26.05.2009, 10:42   #4
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Про клавиши

Вот эта строчка потенциальный источник ошибок:
Local mbUP% = KeyDown(KEY_UP) + KeyDown(KEY_W)
В некотором случае возможно получения значения 2
А далее по коду, о чудо, мы и нарываемся на ошибку:
If (mbUP+mbDown+mbLeft+mbRight)=2

здесь автор хотел видимо проверять нажатие сразу 2х кнопок для диагонального движения. Однако выше приведённый код способен генерировать значение 2 в одной переменной, что при нажатии ещё одной кнопки даст сумму больше 2х, т.е. 3 или даже 4! (хотя теоритический максимум 8).

Не уверен что это решит проблему, однако хуже не будет если сделать правильно.
__________________
(Offline)
 
Ответить с цитированием