Game Maker - создание игр | HellRoom Games
Май 13, 2025, 09:03:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: подскажите пожалуйста как создать простой монолог в 2д платформере  (Прочитано 4137 раз)
0 Пользователей и 1 Гость смотрят эту тему.
hoolk00711
Новичок
*

Репутация: 0
Offline Offline

API: Unity 3D
Сообщений: 1


« : Сентябрь 24, 2019, 01:07:04 »

Всем привет!Нужна помощь в создании монолога в 2д платформере
т е когда гг подходит к определенному объекту и жмет кнопку(нажимание кнопки не обязательно)
тогда вылезает окошко как в комиксе или просто текст рядом с персонажем всплывает
буквально 1-2 небольших предложения
(такая своеобразная кат сцена появляется)
если можно примеры кода ,статью или видео где я могу узнать данную информацию
заранее спасибо!
Записан
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #1 : Сентябрь 24, 2019, 07:57:37 »

С чем именно у вас проблема? Не знаете, как рисовать текст на экране или как сделать появление текста при приближении к предмету?

Пример рисования окошка с текстом рядом с героем можете посмотреть, например, здесь.
А срабатывание можно сделать разными способами. Например, сделать невидимый объект, при столкновении с которым появляется текст (сам текст при этом может браться из этого невидимого объекта).

Вообще, примеров разных диалогов и даже целых систем диалогов тут было уже довольно много, а также можно заглянуть на marketplace.
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
ярик
Активный участник
*****

Репутация: 21
Offline Offline

Награды:
За постоянность! [10 дней на форуме]
API: GameMaker Studio 2
Сообщений: 396



« Ответ #2 : Сентябрь 24, 2019, 10:29:16 »

создаем спрайт и рисуем комикс патом создаем объект у него ставим спрайт этого комикса патом в step у главного объекта пишем к примеру код

это я написал примерно как код может выглядеть
Записан

А че как 2 числа сравнить то это быстрее?
Вот так >? Вот так < ? Или лучше вот так sign(0)
Goo
ну типа
GM Pro user
*

Репутация: 163
Offline Offline

Пол: Мужской
Награды:
3 место в HellRoom Jam XВторое место на HellRoom Jam #9 [Антибиотик]
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345



« Ответ #3 : Сентябрь 24, 2019, 13:08:34 »

Ярик, не учи плохому новичка, он ведь с дуру и скопипастить сможет, возможно,
по крайней мере, я надеюсь, что он более благоразумен.

Такой вопрос к тебе, сколько экземпляров объекта будет создано твоим кодом?

Код:

if distance_to_point(x,y,точка1,точка2)<100 //точка1 и точка2 это точка где должен быть игрок, 100 это дистанция по пикселям
{
    instance_create(x,y,монолог)
}


Сдаешься? Тогда ответ...
Записан

ярик
Активный участник
*****

Репутация: 21
Offline Offline

Награды:
За постоянность! [10 дней на форуме]
API: GameMaker Studio 2
Сообщений: 396



« Ответ #4 : Сентябрь 24, 2019, 17:49:34 »

ой путы забыл
(они будут делаться со скоростю fps  )
в create gg=0
Записан

А че как 2 числа сравнить то это быстрее?
Вот так >? Вот так < ? Или лучше вот так sign(0)
Goo
ну типа
GM Pro user
*

Репутация: 163
Offline Offline

Пол: Мужской
Награды:
3 место в HellRoom Jam XВторое место на HellRoom Jam #9 [Антибиотик]
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345



« Ответ #5 : Сентябрь 24, 2019, 21:04:47 »

Ярик, сидалище ремнем напорю, не учи новичка плохому

Мало того что пишешь переменные в стиле gg, vssfs, sa ... ext.
Так еще и...

короче смотри

Код:

// вариант 1

// obj_player
if !instance_exists(ins) && instance_exists(dia_trigger) // or ( ins == noone && dia_trigger != noone )
{
if distance_to_object(dia_trigger) < RADIUS_TRIGGERS_REVIEW
ins = instance_create_depth(x, y, d, obj);
}

// вариант 2

// obj_player
with dia_trigger
{
if !instance_exists(other.ins)
{
if distance_to_object(other) < RADIUS_REVIEW
other.ins = instance_create_depth(x, y, d, obj);
}
}

// вариант зависит от того, что в проекте, и да, тут могут быть варианты
// и без экземпляров лишних, например контролер + структуры и все что скилл и фантазия позволит
// ну и возможности языка разумеется


почитай про with, instance_exists и noone, пожалуйста. Справка в ГМС.  ГМС на компе. Вперед...
« Последнее редактирование: Сентябрь 24, 2019, 21:12:23 от Goo » Записан

ярик
Активный участник
*****

Репутация: 21
Offline Offline

Награды:
За постоянность! [10 дней на форуме]
API: GameMaker Studio 2
Сообщений: 396



« Ответ #6 : Сентябрь 25, 2019, 10:41:57 »

Цитировать
сидалище ремнем напорю
не не не не errm и так сидалище болит
вот переменные и коды это я просто примерно пишу

и то это тема по gm8 или gms?
Записан

А че как 2 числа сравнить то это быстрее?
Вот так >? Вот так < ? Или лучше вот так sign(0)
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #7 : Сентябрь 25, 2019, 11:49:33 »

Код:
if distance_to_point(x,y,точка1,точка2)<100
вот переменные и коды это я просто примерно пишу
А если таких мест/объектов будет тысяча штук? А если координаты не известны?
Не нужно предлагать плохие решения - лучше изучайте то, что предлагают другие пользователи.
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
ярик
Активный участник
*****

Репутация: 21
Offline Offline

Награды:
За постоянность! [10 дней на форуме]
API: GameMaker Studio 2
Сообщений: 396



« Ответ #8 : Сентябрь 25, 2019, 14:47:48 »

я жи примерно говорю и КОДЫ

if distance_to_point(x,y,точка1,точка2)<100 и то этот код означает то что бы не ставить объекты в room а просто придумать точки и по ним ориентироваться
Записан

А че как 2 числа сравнить то это быстрее?
Вот так >? Вот так < ? Или лучше вот так sign(0)
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #9 : Сентябрь 25, 2019, 16:56:46 »

if distance_to_point(x,y,точка1,точка2)<100 и то этот код означает то что бы не ставить объекты в room а просто придумать точки и по ним ориентироваться
Ещё раз: координаты этих точек не известны, а их количество огромно. Никто и никогда не будет делать так, как предлагаете вы.
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.113 секунд. Запросов: 30.