Главная | Форум | Мой профиль | Выход | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: SHARKING, Фил 
Форум » Вопросы по GM » Проблема в коде » Ошибка в коде (Не запускается на GM8)
Ошибка в коде
maximus1986Дата: Понедельник, 10.05.2010, 10:58 | Сообщение # 1
null
Группа: Проверенные
Сообщений: 35
Репутация: 0
Статус: Offline
Здравствуйте. Сделал по примеру из инета такую 3D "игру". Но похоже в примере использовался GM7, а у меня GM8. Соответственно выдает ошибку. Помгите исправить)
Прикрепления: 3D.gmk(11Kb)
ФилДата: Понедельник, 10.05.2010, 12:00 | Сообщение # 2
null
Группа: Модераторы
Сообщений: 55
Репутация: 4
Статус: Offline
maximus1986, исправил smile

(не могу прикреплять файлы формата gmk, vip-вцам нельзя что-ли? happy )




Сообщение отредактировал Фил - Понедельник, 10.05.2010, 12:02
fedenkovadikДата: Понедельник, 10.05.2010, 12:42 | Сообщение # 3
Группа: Друзья
Сообщений: 236
Репутация: 22
Статус: Offline
и я не могу ...
maximus1986Дата: Понедельник, 10.05.2010, 14:16 | Сообщение # 4
null
Группа: Проверенные
Сообщений: 35
Репутация: 0
Статус: Offline
Спасибо. Ошибку понял.
Вот ее же доработал немного. Но теперь не нравится то, что когда одновременно жмешь 2 стрелки (например, вперед и влево), то камера начинает двигаться очень быстро. Я так понимаю, что в этом случае вертикальная и горизонтальная скорости остаются такие же, как если жать только "вперед" или только "влево". И как результат - в целом скорость сильно возрастает. Можно ли это как-то исправить?
Прикрепления: 2339321.gmk(11Kb)


Сообщение отредактировал maximus1986 - Понедельник, 10.05.2010, 14:17
asd_w_gamesДата: Понедельник, 10.05.2010, 14:46 | Сообщение # 5
null
Гл. Админ
Группа: Администраторы
Сообщений: 357
Статус: Offline
Не знаю какое у тебя там управление но я бы сделал так:
Code
sp=3.2+spd;
if keyboard_check(ord('W'))
y-=sp;
if keyboard_check(ord('S'))
y+=sp;
if keyboard_check(ord('A'))
x-=sp;
if keyboard_check(ord('D'))
x+=sp;
if keyboard_check(vk_shift){
spd=1.2;
}else{
spd=0;
}      
if (keyboard_check(ord('W')))
and
(keyboard_check(ord('A')))
or
(keyboard_check(ord('W')))
and
(keyboard_check(ord('D')))
or
keyboard_c  heck(ord('S'))
and
(keyboard_check(ord('A')))
or
(keyboard_check(ord('S')))
and
(keyboard_check(ord('D'))){
sp=1.7;
}else{
sp=3.2;
}


maximus1986Дата: Понедельник, 10.05.2010, 16:24 | Сообщение # 6
null
Группа: Проверенные
Сообщений: 35
Репутация: 0
Статус: Offline
to asd_w_games: Понятно. А чтобы этот код использовать, его где нужно вставить? В событие Step?
fedenkovadikДата: Понедельник, 10.05.2010, 16:25 | Сообщение # 7
Группа: Друзья
Сообщений: 236
Репутация: 22
Статус: Offline
так все делают)
maximus1986Дата: Понедельник, 17.05.2010, 14:01 | Сообщение # 8
null
Группа: Проверенные
Сообщений: 35
Репутация: 0
Статус: Offline
Подскажите, почему вылетает такая ошибка:
Code

___________________________________________
ERROR in
action number 1
of Create Event
for object object0:

Error in code at line 475:
              if (q3 = 0 & matrispolkl[q1 - 1, q2] != 1)
                    ^
at position 37: Negative array index

Вот кусок кода, где эта строка фигурирует:

Code
        else if (q1 = 5 & q2 = 0)
         {
           if (q3 = 0 & matrispolkl[q1 - 1, q2] != 1)  //здесь ошибка
           {
             q1 -= 1
             matrispolkl[q1, q2] = 1
             pr = 0
           }
           else if (q3 = 1 & matrispolkl[q1, q2 + 1] != 1)
           {
             q2 += 1
             matrispolkl[q1, q2] = 1
             pr = 0
           }
           else
           {
             q3 += 1
             if (q3 > 3)
             {
               pr = 0
             }
           }
         }

Я так понимаю, там получается отрицательный индекс массива. Но как он может быть отрицательным, если там есть условие, чтобы q1 = 5. Следовательно, (q1 - 1) не может равняться отрицательному числу. Тоже самое с q2. Может это глюк какой?

Добавлено (17.05.2010, 14:01)
---------------------------------------------
Все, сам исправил. Там везде в условии нужно вместо = ставить ==, а вместо & ставить &&.

Форум » Вопросы по GM » Проблема в коде » Ошибка в коде (Не запускается на GM8)
Страница 1 из 11
Поиск:


Школа Ultimate3D 2009-2010 год