Понедельник, 18 Ноября 2024, 16:45

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
room_goto направляет не в ту комнату.
михаДата: Воскресенье, 27 Апреля 2014, 12:04 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
есть 3 комнаты: r_levels, lvl1, lvl2. Первая - меню выбора уровня, вторая и третья - 1 и 2 уровни. Кнопки лвлов в комнате 1 создаются циклом, который, к тому же, выдает им значение переменной mylvl (целые числа 1,2,3 и т. д.). Значение данной переменной, как и свой спрайт кнопки рисуют с помощью draw. В каждой кнопке на событие Left release висит код:
Цитата
if global.level_open[mylvl]=1
{
room_goto('lvl' + string(mylvl))
}

Однако и кнопки 1 и 2 лвлов отправляют меня в lvl1. Самое интересное то, что я могу сказать с уверенностью 100% значение string('lvl' + string(mylvl)) выдается правильно. У первой кнопки оно образует стринг lvl1, у второй lvl2. Проверил все на 10 раз. Почему всегда происходит переход на lvl1?

Добавлено (27.04.2014, 12:04)
---------------------------------------------
переименовал комнаты. он все-равно отправляет в ту-же причем с обеих кнопок, несмотря на то, что она теперь lvl2.

DrishДата: Воскресенье, 27 Апреля 2014, 14:20 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Насколько я помню, значение в room_goto не может быть типа String. Попробуй создать массив из переменных - комнат и уже через него переходи по камнатам.

my_room[1]=room_name1;
my_room[2]=room_name2;
my_room[3]=room_name3;

А в момент перехода

room_goto(my_room[my_lvl]) ;


faildev.xyz
laggertДата: Воскресенье, 27 Апреля 2014, 21:37 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Drish, я с тобой согласен.

Лучше использовать для таких целей отдельный объект, в который отправляется информация: какая кнопка активна? Использовать Switch в данном случае полезно.



Я здесь, чтобы распространять ЛАГИ!!!
михаДата: Понедельник, 28 Апреля 2014, 19:11 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
laggert, а если у меня 100 лвлов? Все это прописывать в массив ручками?
GameMixДата: Понедельник, 28 Апреля 2014, 19:31 | Сообщение # 5
старожил
Сейчас нет на сайте
миха, можно через execute_string() реализовать:
Код
execute_string("room_goto(lvl" + string(mylvl) + ");");
Думаю, не составит труда разобраться в этой строчке smile


Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал GameMix - Понедельник, 28 Апреля 2014, 19:31
михаДата: Понедельник, 28 Апреля 2014, 19:43 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
GameMix, спасибо smile
Com-LanДата: Четверг, 22 Мая 2014, 11:18 | Сообщение # 7
частый гость
Сейчас нет на сайте
room_goto(lvl1)

Сайти по GM
gamemaker.clan.su
Игры
hero.at.ua
  • Страница 1 из 1
  • 1
Поиск:

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