Непонятная ошибка
Quad69 Дата: Понедельник, 31 Марта 2014, 22:20 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Всем привет! Сейчас делал свой проект и у меня выскакивают какие-то глупые ошибки. При запуске игры выпадают такие ошибки: Хотя все они указаны. Вот код Create
Stas1999 Дата: Понедельник, 31 Марта 2014, 22:34 | Сообщение # 2
был не раз
Сейчас нет на сайте
Оно пишет что неизвесная переменная mouserot.А где она у тебя?
Quad69 Дата: Понедельник, 31 Марта 2014, 22:38 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Объект obj_inventory Kod Create: globalvar mouserot; mouserot=0Добавлено (31.03.2014, 22:38) --------------------------------------------- Он имеется в при старте комнаты
Stas1999 Дата: Понедельник, 31 Марта 2014, 22:40 | Сообщение # 4
был не раз
Сейчас нет на сайте
Понятно.Эта переменная объявлена в одном объекте,а используешь ты её в другом.Для этого нужно сделать переменную глобальной.Для этого поставь перед mouserot global. Будет выглядеть так: global.mouserot=0
Quad69 Дата: Понедельник, 31 Марта 2014, 22:41 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
Да, но она итак глобальная. Код
globalvar mouserot; mouserot=0
globalvar <1>,<2>; - Создаёт глобальную переменную. При это перед ней не нужно ставить global
Stas1999 Дата: Понедельник, 31 Марта 2014, 22:41 | Сообщение # 6
был не раз
Сейчас нет на сайте
Упс,не заметил что ты написал globalvar mouserot; Но попробуй его удалить и поставить то что я написал выше
Quad69 Дата: Понедельник, 31 Марта 2014, 22:44 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Разницы не какой. Везде заменил: Код
___________________________________________ ERROR in action number 1 of Create Event for object obj_player: Error in code at line 3: item4=item_sprite(obj_inventory.cell_sprite[global.mouserot]) ^ at position 53: Unknown variable mouserot
Stas1999 Дата: Понедельник, 31 Марта 2014, 22:47 | Сообщение # 8
был не раз
Сейчас нет на сайте
Я не пойму что за функции такие item_sprite и cell_sprite.У меня GM их не знает.И переменная почему-то написана в квадратных скобках.
Сообщение отредактировал Stas1999 - Понедельник, 31 Марта 2014, 22:50
Quad69 Дата: Понедельник, 31 Марта 2014, 22:50 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
При нажатии Ignory вылетает следующая ошибка: Если нажимать ещё раз игноре, то выпадает опять ошибка:
___________________________________________ ERROR in action number 1 of Create Event for object obj_player: Error in code at line 3: item4=item_sprite(obj_inventory.cell_sprite[global.mouserot]) ^ at position 53: Unknown variable mouserot ___________________________________________ ERROR in action number 1 of Draw Event for object obj_player: Error in code at line 2: draw_sprite_ext(spr_part3,movedir,x,y+8,1,1,dir3,c_white,1) ^ at position 46: Unknown variable dir3 ___________________________________________ ERROR in action number 1 of Draw Event for object obj_player: Error in code at line 4: if trunk!=0 {draw_sprite(trunk,movedir,x,y-2)} ^ at position 5: Unknown variable trunk Тоже создана в этом же объекте
При нажатии ещё раз больше ничего не выпадает.Добавлено (31.03.2014, 22:50) ---------------------------------------------
Цитата maksim1221232 (
)
Я не пойму что за функции такие item_sprite,cell_sprite.У меня GM их не знает.И почему переменная написана в квадратных скобках.
Это не функции, а массивы. Цитата maksim1221232 (
)
И почему переменная написана в квадратных скобках.
индекс массива
Stas1999 Дата: Понедельник, 31 Марта 2014, 22:58 | Сообщение # 10
был не раз
Сейчас нет на сайте
Даже не знаю чем тебе помочь А можешь скинуть исходник.Добавлено (31.03.2014, 22:58) --------------------------------------------- Может проблема не в коде в твоем Game Maker.
Quad69 Дата: Понедельник, 31 Марта 2014, 23:07 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
Вот лови: http://rghost.ru/53668094Добавлено (31.03.2014, 23:07) ---------------------------------------------
Цитата Stas1999 (
)
Может проблема не в коде в твоем Game Maker
У меня всё нормально. Если смотреть другие исходники, в которых почти тоже самое, то там всё нормально работает
Stas1999 Дата: Понедельник, 31 Марта 2014, 23:09 | Сообщение # 12
был не раз
Сейчас нет на сайте
Странная проблема.Если я заменяю переменные на то что в них написано то все работает отлично.
Quad69 Дата: Понедельник, 31 Марта 2014, 23:13 | Сообщение # 13
заслуженный участник
Сейчас нет на сайте
Да, но если мне вдруг придётся всё заменить, то как я это сделаю без переменной?
Stas1999 Дата: Понедельник, 31 Марта 2014, 23:21 | Сообщение # 14
был не раз
Сейчас нет на сайте
Я не знаю,извини.
Quad69 Дата: Понедельник, 31 Марта 2014, 23:23 | Сообщение # 15
заслуженный участник
Сейчас нет на сайте
Кстати, ошибка начала выскакивать когда я сделал инвентарь. До этого всё было отлично.
Stas1999 Дата: Понедельник, 31 Марта 2014, 23:51 | Сообщение # 16
был не раз
Сейчас нет на сайте
Тогда только один вариант.Переделать инвентарь.
XDominator Дата: Вторник, 01 Апреля 2014, 10:05 | Сообщение # 17
постоянный участник
Сейчас нет на сайте
Вариант 1: Объект который обращается к mouserot создается гамаком раньше, чем объект, непосредственно инициирующий mouserot. Потому и ошибка обращения. Путь решения: Код
Объект obj_inventory Kod Create: globalvar mouserot; mouserot=0 //Добавляем принудительное создание нашего obj_player instance_create(x, y, obj_player);
Соответственно из редактора комнаты, obj_player придется убрать, а его координаты прописать в функцию создания. Удач!
Ghaarp The soul lighter(Android, logic) Zzzzombie RAGE!!!(For android)
Quad69 Дата: Вторник, 01 Апреля 2014, 19:31 | Сообщение # 18
заслуженный участник
Сейчас нет на сайте
Спасибо за помощь! Проблема решена!