Пятница, 29 Марта 2024, 08:55

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Помогите с переменными,пожалуйста
Помогите с переменными,пожалуйста
Major_TomДата: Понедельник, 13 Января 2014, 11:08 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
В obj_controller ,в Create я пишу rope=0
При нажатии на obj_next_room rope=1
Дальше делаю вычисления
if rope>=1 room_goto(LVL15)
if rope<=1 room_goto(LVL14)
Выдает ошибку.Помогите,пожалуйста...
Может дело в том,что одна переменная играет роль в двух разных объектах?


MajorTom Blog

Сообщение отредактировал Kirill999 - Понедельник, 13 Января 2014, 11:09
LunarPixelДата: Понедельник, 13 Января 2014, 11:12 | Сообщение # 2
старожил
Сейчас нет на сайте
if rope>=1 room_goto(LVL15)
if rope<=1 room_goto(LVL14)

Оба условия срабатывают, если переменная равна 1, в какую комнату переходить при таких условиях!?


Major_TomДата: Понедельник, 13 Января 2014, 12:43 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Цитата LunarPixel ()
if rope>=1 room_goto(LVL15) if rope<=1 room_goto(LVL14) Оба условия срабатывают, если переменная равна 1, в какую комнату переходить при таких условиях!?

Ок,я еще пробовал без " if rope<=1 room_goto(LVL14) ",все равно не рабтала.


MajorTom Blog
LunarPixelДата: Понедельник, 13 Января 2014, 12:45 | Сообщение # 4
старожил
Сейчас нет на сайте
Kirill999, тогда кинь сюда сообщение об ошибке, чтобы понятнее было в чем проблема.

Major_TomДата: Понедельник, 13 Января 2014, 13:35 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Цитата LunarPixel ()
Kirill999, тогда кинь сюда сообщение об ошибке, чтобы понятнее было в чем проблема.

FATAL ERROR in
action number 1
of Mouse Event for Left Released
for object o_12:

Push :: Execution Error - Variable Get -1.rope(100000, -1)
at gml_Object_o_12_LeftButtonReleased_1 (line 1) - if rope>=2 room_goto(LVL15)
Это ошибка на новый код.
Вот собственно сам код
Код

if rope>=2 room_goto(LVL15)
if rope<=1 room_goto(LVL14)


MajorTom Blog
Raven84Дата: Понедельник, 13 Января 2014, 14:18 | Сообщение # 6
старожил
Сейчас нет на сайте
Kirill999, Что-то непонятное.У тебя ошибка в объекте o_12 в событии отпускания левой кнопки мыши в первой строчке кода.Я не знаю,но может ошибку выдает потому,что синтаксис кода не правильный.Попробуй так:
Код
if rope>=2 {room_goto(LVL15)}
if rope<=1 {room_goto(LVL14)}

Но я не уверен,что это поможет.Точно не знаю обязательны ли скобки,просто ни разу без них не писал...

Добавлено (13.01.2014, 14:18)
---------------------------------------------
По идее ты все же должен ограничивать начало и конец следствия выполнения условия и они нужны.


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland


Сообщение отредактировал Raven84 - Понедельник, 13 Января 2014, 14:19
rgs_hakerДата: Понедельник, 13 Января 2014, 14:30 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Kirill999, совершено непонятно что ты вообще хочеш добиться, но вот я недавно для своего проэкта делал
в старт гейм создаеш глоб.пер
global.item = 0
далее при выходе из пройденного уровня по нажатию мишей на кнопке уровень пройден меняеш переменую на
global.item = 1
и наконец в obj_controller или еше гдето где тебе надо проверка и запуск следушего уровня
if global.item > 1 room_goto(room1)
if global.item > 2 room_goto(room2)
if global.item > 3 room_goto(room3)
if global.item > 4 room_goto(room4)

вот как то так


_____
Major_TomДата: Понедельник, 13 Января 2014, 14:41 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Цитата Raven84 ()
Kirill999, Что-то непонятное.У тебя ошибка в объекте o_12 в событии отпускания левой кнопки мыши в первой строчке кода.Я не знаю,но может ошибку выдает потому,что синтаксис кода не правильный.Попробуй так: Кодif rope>=2 {room_goto(LVL15)} if rope<=1 {room_goto(LVL14)} Но я не уверен,что это поможет.Точно не знаю обязательны ли скобки,просто ни разу без них не писал... Добавлено (13.01.2014, 14:18) --------------------------------------------- По идее ты все же должен ограничивать начало и конец следствия выполнения условия и они нужны.

Не получается
FATAL ERROR in
action number 1
of Mouse Event for Left Released
for object o_12:

Push :: Execution Error - Variable Get -1.rope(100000, -1)
at gml_Object_o_12_LeftButtonReleased_1 (line 1) - if rope>=2 {room_goto(LVL15)


MajorTom Blog
Raven84Дата: Понедельник, 13 Января 2014, 14:55 | Сообщение # 9
старожил
Сейчас нет на сайте
Kirill999, Ну я даже не знаю! Если бы скинул исходник,я бы в миг думаю разобрался.Но проблема я думаю точно не в этом участке кода.Он верен с точки зрения написания.Логика где-то страдает,какие-то несоответсвия где-то значит есть...

Добавлено (13.01.2014, 14:48)
---------------------------------------------
Kirill999, У тебя в объекте o_12 переменная rope как и где задается и есть ли она там вообще? Может эта переменная от другого объекта? Тогда нужно сделать ее глобальной.

Добавлено (13.01.2014, 14:53)
---------------------------------------------
Судя по топику темы:
Цитата
В obj_controller ,в Create я пишу rope=0
При нажатии на obj_next_room rope=1

У тебя и правда нужна глобальная переменная.Ведь ты задаешь ее в объектах obj_controller и obj_next_room.А проверка судя по ошибке идет в объекте o_12 !!!

Добавлено (13.01.2014, 14:54)
---------------------------------------------
Просто попробуй rope везде поменять (во всех объектах где она встречается и задается) на global.rope

Добавлено (13.01.2014, 14:55)
---------------------------------------------
Я конечно понятия не имею без полного кода чего ты хочешь добиться и в чем проблема,но думаю именно в этом. smile


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland


Сообщение отредактировал Raven84 - Понедельник, 13 Января 2014, 14:57
Major_TomДата: Понедельник, 13 Января 2014, 16:01 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Цитата Kirill999 ()
Kirill999, совершено непонятно что ты вообще хочеш добиться, но вот я недавно для своего проэкта делал в старт гейм создаеш глоб.пер global.item = 0 далее при выходе из пройденного уровня по нажатию мишей на кнопке уровень пройден меняеш переменую на global.item = 1 и наконец в obj_controller или еше гдето где тебе надо проверка и запуск следушего уровня if global.item > 1 room_goto(room1) if global.item > 2 room_goto(room2) if global.item > 3 room_goto(room3) if global.item > 4 room_goto(room4) вот как то так

Спасибо
Цитата Raven84 ()
Kirill999, Ну я даже не знаю! Если бы скинул исходник,я бы в миг думаю разобрался.Но проблема я думаю точно не в этом участке кода.Он верен с точки зрения написания.Логика где-то страдает,какие-то несоответсвия где-то значит есть... Добавлено (13.01.2014, 14:48) --------------------------------------------- Kirill999, У тебя в объекте o_12 переменная rope как и где задается и есть ли она там вообще? Может эта переменная от другого объекта? Тогда нужно сделать ее глобальной. Добавлено (13.01.2014, 14:53) --------------------------------------------- Судя по топику темы: ЦитатаВ obj_controller ,в Create я пишу rope=0 При нажатии на obj_next_room rope=1 У тебя и правда нужна глобальная переменная.Ведь ты задаешь ее в объектах obj_controller и obj_next_room.А проверка судя по ошибке идет в объекте o_12 !!! Добавлено (13.01.2014, 14:54) --------------------------------------------- Просто попробуй rope везде поменять (во всех объектах где она встречается и задается) на global.rope Добавлено (13.01.2014, 14:55) --------------------------------------------- Я конечно понятия не имею без полного кода чего ты хочешь добиться и в чем проблема,но думаю именно в этом.

И тебе спасибо
Цитата LunarPixel ()
Kirill999, тогда кинь сюда сообщение об ошибке, чтобы понятнее было в чем проблема.

Спасибо тоже


MajorTom Blog
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Помогите с переменными,пожалуйста
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг