Понедельник, 25 Ноября 2024, 07:13

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Объединение комнат+вопрос по GM 8 PRO
TryitbymeДата: Суббота, 23 Марта 2013, 18:55 | Сообщение # 1
был не раз
Сейчас нет на сайте
Вопрос такой.
Имеется более 20 комнат.Выходы в каждой находятся на разных высотах.Как сделать возможным передвижение персонажа из комнаты в комнату,не соединяя комнаты в один большой фон,но при этом имея возможность передвигаться туда\обратно.Такое же передвижение,как в An Untitled Story.Просто делать 40 объектов для передвижения между комнатами-это как-то не очень хорошо. Прошу совета.

И второй вопрос.В GM 8.0 Pro нет возможности увеличить картинку при работе с комнатой и при масштабировании любого спрайта на размер более чем рабочее поле,ползунок передвижения по картинке вверх\вниз становится на половину экрана.Возможно,существуют pro версии 8.1?
FargostДата: Суббота, 23 Марта 2013, 19:09 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Первый вопрос: у тебя все комнаты в одной room находятся чтоли?

SyankДата: Суббота, 23 Марта 2013, 19:41 | Сообщение # 3
участник
Сейчас нет на сайте
Цитата (Tryitbyme)
Имеется более 20 комнат.Выходы в каждой находятся на разных высотах.Как сделать возможным передвижение персонажа из комнаты в комнату,не соединяя комнаты в один большой фон,но при этом имея возможность передвигаться туда\обратно.Такое же передвижение,как в An Untitled Story.Просто делать 40 объектов для передвижения между комнатами-это как-то не очень хорошо. Прошу совета.

Ты в одном объекте проверяй координаты персонажа, на ппример:
Код
switch room{
case room0:{if player.x<10 and player.x>0 and player.y<300 and player.y>310 the room_goto(room1)}
case room1:{if player.x<640 and player.x>630 and player.y<300 and player.y>310 the room_goto(room1)}
}

Тоесть когда игрок попадает в область 10 на 10 пикселей - он переходит в указанную комнату. Ну само собой размер можно любой указать.
RandallДата: Суббота, 23 Марта 2013, 20:53 | Сообщение # 4
участник
Сейчас нет на сайте
Добавлю к Syank.
Если переход работает автоматом (как телепорт, при касании), то в объект проверки кроме описанного кода нужно добавить флаг перехода, чтобы не было зацикливания при выходе туда-обратно.
В Create прописываем exitflag=true, при соблюдении условия выхода и если exitflag=true на месте, откуда мы уходим, exitflag становится false, потом происходит переход.
Потом, как только игрок перешел обратно и сошел с места перехода (пошел дальше) снова ставим exitflag=true.


1. Adventure Mouse - мини-аркада про мыш и его друга сыр
2. Герои Реконструкции и Страйкбола - тематическая пошаговая стратегия
3. Dangerous Dave 5: Fansequel - трибьют на Dangerous Dave
Всё здесь http://zvizdez.ru/download.php?list.1


Сообщение отредактировал Randall - Суббота, 23 Марта 2013, 20:55
TryitbymeДата: Воскресенье, 24 Марта 2013, 00:12 | Сообщение # 5
был не раз
Сейчас нет на сайте
За ответы спасибо.А вот могли бы вы,уважаемые,уточнить,что куда вписывать.Попытался я сделать как понял-не особо получилось.Могли бы вы изложить в более понятной форме? Просто моих знаний явно не хватает.Если снова ответите-буду благодарен
SyankДата: Воскресенье, 24 Марта 2013, 00:39 | Сообщение # 6
участник
Сейчас нет на сайте
Создаёшь объект типа obj_gotoroom
В событие создания(Create), как сказал Randall, пишешь переменную
Код
exitflag=true

В событие шага(step) в скрипт пишешь код
Код

if exitflag=true{ //если флаг равен истене
switch room{ //перечисляешь комнаты
case room0:{if player.x<10 and player.x>0 and player.y<300 and player.y>310 {room_goto(room1) exitflag=false}}//если игрок попадает в область 10 на 10 пикселей то он переходит в другую комнату, тут же отключаем флаг
//который не даст тебе больше переходить в другие комнаты
case room1:{if player.x<640 and player.x>630 and player.y<300 and player.y>310 {room_goto(room0)exitflag=false}}//и так далее дальше  
}
else
//Дальше включаем флаг чтобы снова была возможность перехода
{
switch room{  
case room0:{if player.x!<10 and player.x!>0 and player.y!<300 and player.y!>310 then exitflag=true}//если игрок вышел из позиции то переход снова разрешается
case room1:{if player.x!<640 and player.x!>630 and player.y!<300 and player.y!>310 then exitflag=true}//и так далее дальше  
}


потом этот объект пихаешь в любое место и конечно делаешь его постоянным.
TryitbymeДата: Воскресенье, 24 Марта 2013, 01:05 | Сообщение # 7
был не раз
Сейчас нет на сайте
Благодарю.Всё понял,всё разжевали.Спасибо.
  • Страница 1 из 1
  • 1
Поиск:

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