Пятница, 29 Марта 2024, 18:31

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Вопрос - Ответ (Game Maker) (Будут пополняться)
Вопрос - Ответ (Game Maker)
EfimovMaxДата: Суббота, 02 Мая 2015, 02:46 | Сообщение # 5361
заслуженный участник
Сейчас нет на сайте
hako,

В событие Step объекта objHero:

Код
if keyboard_check_pressed(vk_up) &&  distance_to_object(objPer)=0
         {
         room_goto(roomDom)
         }


А у тебя не выходило, потому что ты какие-то неправильные координаты задаёшь. Почитай про collision_line внимательней.
Но вообще, в большинстве случаев, distance_to_object подходит для таких целей лучше.


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris


Сообщение отредактировал EfimovMax - Суббота, 02 Мая 2015, 02:54
hakoДата: Суббота, 02 Мая 2015, 03:06 | Сообщение # 5362
был не раз
Сейчас нет на сайте
Огромнейшее спасибо, все получилось!

Никто о том не покрушится,
И будут (я уверен в том)
О смерти больше веселится,
Чем о рождении моем…
AnOmalyWolfДата: Суббота, 02 Мая 2015, 15:08 | Сообщение # 5363
частый гость
Сейчас нет на сайте
Как сделать переход персонажа из одной комнаты в другую, при касании края комнаты, но с условием, что в следующей комнате, он появиться на той же высоте, на которой зашёл в предыдущей комнате.
Например: Герой добежал до правого края комнаты, появился в следующей комнате, но слева.
Герой коснулся верхней границы комнаты, появился в следующей комнате, но снизу.
Герой прыгнул влево и коснулся левой границы комнаты, появился в следующей комнате, в полёте справа.
И так далее. Есть идеи реализации?
EfimovMaxДата: Суббота, 02 Мая 2015, 17:02 | Сообщение # 5364
заслуженный участник
Сейчас нет на сайте
Цитата AnOmalyWolf ()
Как сделать переход персонажа из одной комнаты в другую, при касании края комнаты, но с условием, что в следующей комнате, он появиться на той же высоте, на которой зашёл в предыдущей комнате.
Например: Герой добежал до правого края комнаты, появился в следующей комнате, но слева.
Герой коснулся верхней границы комнаты, появился в следующей комнате, но снизу.
Герой прыгнул влево и коснулся левой границы комнаты, появился в следующей комнате, в полёте справа.
И так далее. Есть идеи реализации?

Так а в чём сложность? При старте новой комнаты задавай объекту персонажа новые координаты.
Вот погляди в шапке первое видео: тык. Ты же имеешь ввиду такую систему переходов?


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris


Сообщение отредактировал EfimovMax - Суббота, 02 Мая 2015, 17:04
AnOmalyWolfДата: Суббота, 02 Мая 2015, 17:20 | Сообщение # 5365
частый гость
Сейчас нет на сайте
Да. Что-то в этом роде. Мне кажется, что каждый раз задавать персонажу новые координаты, это будет отнимать много времени. Я пытаюсь создать простую систему смены комнат, а получаются, громадные скрипты. =(((
EfimovMaxДата: Суббота, 02 Мая 2015, 17:27 | Сообщение # 5366
заслуженный участник
Сейчас нет на сайте
Цитата AnOmalyWolf ()
Да. Что-то в этом роде. Мне кажется, что каждый раз задавать персонажу новые координаты, это будет отнимать много времени. Я пытаюсь создать простую систему смены комнат, а получаются, громадные скрипты. =(((

Что за громадные скрипты? Одна строка:

Код

if objHero.x<0 objHero.x=room_width-50


Пример захода за левую границу и появления персонажа справа.


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris


Сообщение отредактировал EfimovMax - Суббота, 02 Мая 2015, 17:30
AnOmalyWolfДата: Суббота, 02 Мая 2015, 17:44 | Сообщение # 5367
частый гость
Сейчас нет на сайте
Код
if objHero.x<0 objHero.x=room_width-50

Этот код будет работать, на сколько я понимаю, так: Персонаж зашёл за границу комнаты и вышел в этой же комнате, но с другой стороны.

EfimovMaxДата: Суббота, 02 Мая 2015, 18:09 | Сообщение # 5368
заслуженный участник
Сейчас нет на сайте
Цитата AnOmalyWolf ()
Этот код будет работать, на сколько я понимаю, так: Персонаж зашёл за границу комнаты и вышел в этой же комнате, но с другой стороны.

Именно. Делай objHero персистентным, прикрути к коду переход на следующий уровень и будет тебе счастье biggrin

Цитата AnOmalyWolf ()
Твоё начинание "Princess.Loot.Pixel.Again", очень порадовало. Продолжай в том же духе. Проект очень интересный. =)

Спасибо, стараюсь happy


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris
AnOmalyWolfДата: Суббота, 02 Мая 2015, 20:05 | Сообщение # 5369
частый гость
Сейчас нет на сайте
EfimovMax, Да, действительно работает. smile И код элементарный. Спасибо. smile

P.S. Будет интересно дождаться "Princess.Loot.Pixel.Again" и опробовать. smile
STRATEG667Дата: Воскресенье, 03 Мая 2015, 20:52 | Сообщение # 5370
уже был
Сейчас нет на сайте
Как сделать чтобы в определенное время появился объект. Например, я хочу чтобы в 30 секунде появился 1 объект (бонус.)
Сделал вот так, if time <=50
{
instance_create(23,55,obj_bonus)
}
Но объекты появляются слишком много, и игра зависает
FadeBakerДата: Воскресенье, 03 Мая 2015, 21:17 | Сообщение # 5371
JavaSE Game Developer
Сейчас нет на сайте
STRATEG667, в Create задаешь Alarm[0] значение room_speed * 30, а в самом Alarm[0] прописываешь создание нужных объектов.

Уроки по GM
Minecraft 2D на GM
— Мои проекты —
Blood Harvest [2D] — Original
Blood Harvest [2D]: Remastered Edition
Adventure Craft [2D] — Sandbox
Space Shock [2D] — Scroll Shooter
Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
ExtrimmerДата: Воскресенье, 03 Мая 2015, 22:15 | Сообщение # 5372
участник
Сейчас нет на сайте
Для получении бесплатной версии конструктора без ограничений для windows кроме скачки в стим, нужно регистрироваться?(Где-то слышал что нужно пройти регистрацию и обновить версию,но не нашёл где это)
skypoДата: Воскресенье, 03 Мая 2015, 22:57 | Сообщение # 5373
участник
Сейчас нет на сайте
Цитата Extrimmer ()
кроме скачки в стим

можно скачать прямо с сайта ЁЁ http://yoyogames.com/studio/buy
судя по "Unlimited resources" - это Standart и есть, он без ограничений.
при скачке со Стима любых версий нигде регаться не надо


Последний готовый проект:
флэппиберд с яйцами "Rescue Bird"(скачать с GooglePlay)
В разработке:
3-в-ряд "Корабельная команда", рогалик "Живой Мир", квест "Экипаж "Солнечной" (ждите на КРИЛ-15!)


Сообщение отредактировал skypo - Воскресенье, 03 Мая 2015, 22:58
EfimovMaxДата: Понедельник, 04 Мая 2015, 15:24 | Сообщение # 5374
заслуженный участник
Сейчас нет на сайте
Цитата skypo ()
при скачке со Стима любых версий нигде регаться не надо

Бесплатная Стимовская версия имеет ограничения, например, нельзя создать больше 10 объектов.


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris
hakoДата: Вторник, 05 Мая 2015, 11:01 | Сообщение # 5375
был не раз
Сейчас нет на сайте
Может кто в курсе как переконвертировать .gmk в .project.gmx?Или есть какая-нибудь возможность открыть этим studio файл GM8.0,GM8.1?

Никто о том не покрушится,
И будут (я уверен в том)
О смерти больше веселится,
Чем о рождении моем…
YellowAfterlifeДата: Вторник, 05 Мая 2015, 11:22 | Сообщение # 5376
Сейчас нет на сайте
Цитата hako ()
Может кто в курсе как переконвертировать .gmk в .project.gmx?Или есть какая-нибудь возможность открыть этим studio файл GM8.0,GM8.1?
Вкладка "Import" на стартовом экране (детальная инструкция).


hakoДата: Вторник, 05 Мая 2015, 11:28 | Сообщение # 5377
был не раз
Сейчас нет на сайте
да чтот я совсем ступил:) вроде все так просто было, а я в интернете конвертеры ищу...

Никто о том не покрушится,
И будут (я уверен в том)
О смерти больше веселится,
Чем о рождении моем…
AnOmalyWolfДата: Среда, 06 Мая 2015, 21:29 | Сообщение # 5378
частый гость
Сейчас нет на сайте
Как ограничить количество, вводимых человеком, символов? =)
YellowAfterlifeДата: Среда, 06 Мая 2015, 21:33 | Сообщение # 5379
Сейчас нет на сайте
Цитата AnOmalyWolf ()
Как ограничить количество, вводимых человеком, символов? =)

Если символы вводятся посредством keyboard_string, можно напрямую изменять его:
if (string_length(keyboard_string) > 50) {
keyboard_string = string_copy(keyboard_string, 1, 50)
}

Для get_string максимальное количество символов в самом диалоге ограничить нельзя, но можно потом проверить (тоже с помощью проверки string_length) и обрезать результат, или же попросить пользователя ввести что-то покороче.
while (true) {
    str = get_string("Имя (16 или менее символов):", "Player")
    if (string_length(str) > 16) {
        show_message("Имя слишком длинное.")
    } else break
}
// в str теперь хранится имя в 16 символов или меньше.




Сообщение отредактировал YellowAfterlife - Среда, 06 Мая 2015, 21:36
NataliyGДата: Пятница, 22 Мая 2015, 18:11 | Сообщение # 5380
был не раз
Сейчас нет на сайте
Нужна помощь. Мне нужно сделать игру в которой можна было б управлять разными обектами. Например в комнате находится 5 предметов я беру один (нажатием левой клавиши мыши) и ставлю какое то место, а потом беру следующей и тоже самое. Вот что я делаю. Я в обекте в событие step в коде пишу:
if mouse_check_button(mb_left)
{ x= mouse_x
y =mouse_y
}
но если я так делаю в каждом обекте то они перемещаются все вместе. Как сделать так щтоб обектами управлять каждим отдельно. Спасибо!
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Вопрос - Ответ (Game Maker) (Будут пополняться)
Поиск:

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