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) + ");"); Думаю, не составит труда разобраться в этой строчке
Steel Standoff - 2D аркада. Мои статьи
Сообщение отредактировал GameMix - Понедельник, 28 Апреля 2014, 19:31 |
|
| |
миха | Дата: Понедельник, 28 Апреля 2014, 19:43 | Сообщение # 6 |
почти ветеран
Сейчас нет на сайте
| GameMix, спасибо
|
|
| |
Com-Lan | Дата: Четверг, 22 Мая 2014, 11:18 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| room_goto(lvl1)
Сайти по GM gamemaker.clan.su Игры hero.at.ua
|
|
| |