Воскресенье, 16 Мая 2021, 20:44

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Вопрос - Ответ (Game Maker) (Будут пополняться)
Вопрос - Ответ (Game Maker)
OpenGOOДата: Воскресенье, 20 Сентября 2015, 21:25 | Сообщение # 5501
почти ветеран
Сейчас нет на сайте
Код
list = ds_list_create();
for (i=1; i<=100; ++i) {
     ds_list_add(list, i);
}
ds_list_shuffle(list);

Создаем список, заполняем его, перемешиваем. Потом берем из списка первые 20 случайных чисел.


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
Raven84Дата: Воскресенье, 20 Сентября 2015, 23:19 | Сообщение # 5502
старожил
Сейчас нет на сайте
Спасибо,парни. Про списки я что-то и не подумал. wacko

Добавлено (20 сентября 2015, 23:19)
---------------------------------------------
Спасибо,парни. Про списки я что-то и не подумал. wacko


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland
nem0y_Дата: Понедельник, 21 Сентября 2015, 17:21 | Сообщение # 5503
уже был
Сейчас нет на сайте
Кто нибудь знает, почему в GMS при рисовании текста его не видно, но по сути он есть. Т.е. если пишешь текст по русски, например draw_text(x,y,'Привет'), то его не будет видно. А вот если напишешь по английски draw_text(x,y,'Hello'), то текст выводится.

Пробовал менять шрифты, не помогло. А еще удивило, что в show_message при всем этом, русский шрифт виден.
YellowAfterlifeДата: Понедельник, 21 Сентября 2015, 17:29 | Сообщение # 5504
Сейчас нет на сайте
Цитата wasterman ()
Уважаемые как сделать простейшую рекурсию?
Спасибо с циклами сам разобрался!

for(i=0;i<=5;i+=1)
{
show_message(i)
}

Рекурсию делают скриптами, что являются аналогом функций в других языках программирования.

Цитата nem0y_ ()
Кто нибудь знает, почему в GMS при рисовании текста его не видно, но по сути он есть. Т.е. если пишешь текст по русски, например draw_text(x,y,'Привет'), то его не будет видно. А вот если напишешь по английски draw_text(x,y,'Hello'), то текст выводится.

Пробовал менять шрифты, не помогло. А еще удивило, что в show_message при всем этом, русский шрифт виден.

Нужно добавить в шрифт диапазон русских символов (с помощью кнопочки в окне редактирования ресурса) - обычно добавляют 1040 ... 1111.




Сообщение отредактировал YellowAfterlife - Понедельник, 21 Сентября 2015, 17:30
turadinДата: Вторник, 27 Октября 2015, 10:31 | Сообщение # 5505
уже был
Сейчас нет на сайте
Всем привет!
Я тут новенький думаю поможите!
Кароче решил зделать тутор с диалогами, а незнаю как зделать чтоб после разговора появился бот, после убийства бота появлялся чел с которым нужно поговорить
Помогите! cry
LuxorixДата: Вторник, 27 Октября 2015, 19:11 | Сообщение # 5506
постоянный участник
Сейчас нет на сайте
turadin, заводишь переменную, например, dialog. Когда тутор закончился dialog=1 создался бот. Бот умер dialog=2 и появился другой текст.

LUXORIX GAMES
turadinДата: Среда, 28 Октября 2015, 09:09 | Сообщение # 5507
уже был
Сейчас нет на сайте
А какой код для создания обекта немогу найти. create_object(x,y) неработает angry

Сообщение отредактировал turadin - Четверг, 29 Октября 2015, 16:45
mkostoevrДата: Воскресенье, 01 Ноября 2015, 14:13 | Сообщение # 5508
частый гость
Сейчас нет на сайте
Не

Цитата turadin ()
create_object(x,y)


а

Цитата turadin ()
instance_create(x, y, obj)


где x & y - место создания объекта, а obj - название объекта

Надеюсь, всё ясно?

Добавлено (01 ноября 2015, 14:13)
---------------------------------------------
А у меня вот такая проблема... Впрочем, вот ссылка:

Проблемы с физикой


Ерунда всё это
Veliky_VirusДата: Суббота, 07 Ноября 2015, 05:38 | Сообщение # 5509
ДьявоЛ
Сейчас нет на сайте
Ошибка в GMS: gamemaker studio asset compiler has encountered a problem

что делать то?:)
mkostoevrДата: Воскресенье, 08 Ноября 2015, 13:08 | Сообщение # 5510
частый гость
Сейчас нет на сайте
Ещё одна проблемка...

Проблемы с "Механикой"

П. Т. : Спасибо тем, кто помог разобраться с первой... Хотя, точнее будет сказать "Тому"...


Ерунда всё это
Spyro23Дата: Четверг, 12 Ноября 2015, 00:02 | Сообщение # 5511
Black Snowflake Games
Сейчас нет на сайте
Как растягивать application surface с сохранением пропорций? Я применяю к нему шейдер, поэтому нужно рисовать вручную. Разрешение игры 1920х1080, использую код из TechBlogs, но на мониторах с иным соотношением сторон сурфейс корректно растягивается только по горизонтали.

Код в старте первой комнаты (все последующие одинаковые по размеру):
Цитата

base_w = 1920;
base_h = 1080;
aspect = base_w / base_h ; // get the GAME aspect ratio
if (display_get_gui_width() < display_get_gui_height())
{
//portrait
ww = min(base_w, display_get_gui_width());
hh = ww / aspect;
}
else
{
//landscape
hh = min(base_h, display_get_gui_height());
ww = hh * aspect;
}
surface_resize(application_surface,ww,hh)


Draw GUI:
Цитата
draw_surface_stretched(application_surface, 0, 0, display_get_gui_width(), display_get_gui_height());


UPD: Разобрался, с помощью application_get_position() получал координаты и по ним рисовал растянутый сурфейс в Post Draw.


Black Snowflake Games

Сообщение отредактировал Spyro23 - Четверг, 12 Ноября 2015, 15:39
mkostoevrДата: Четверг, 12 Ноября 2015, 19:29 | Сообщение # 5512
частый гость
Сейчас нет на сайте
Вот ишо одын вопрос: Плавный паварот ОБЬЕКТА (?) в сторону курсор миши

(с) Вано


Ерунда всё это
Quad69Дата: Воскресенье, 15 Ноября 2015, 00:16 | Сообщение # 5513
заслуженный участник
Сейчас нет на сайте
Почему у меня странно работает новый звуковой двиг gms?
То громкость звука не меняется, то сам звук просто не проигрывается...
Кто с этим сталкивался?
ASH2Дата: Понедельник, 16 Ноября 2015, 10:49 | Сообщение # 5514
участник
Сейчас нет на сайте
А никто не сталкивался с изменением разрешения игры?

Знаю, что раньше использовался display_set_size(w,h), однако теперь пишут, что данная функция устарела. Как теперь менять разрешение никто не в курсе?


Карсон и Питееерс!!!
Dante_DevilДата: Четверг, 19 Ноября 2015, 16:32 | Сообщение # 5515
уже был
Сейчас нет на сайте
Доброго времени суток, уважаемые господа.
Без долгих вступлений перейдем к непосредственно "делам" biggrin
Итак, я состряпал 2D движок (если мое больное во всех смыслах творение можно так назвать) и все работает вполне себе замечательно за исключением одного НО. Дело в том, что из-за специфики использования динамического освещения в игре, привязать камеру к персонажу стандартным Game-maker-овским способом невозможно. Я про тот, что в "видах" комнаты. приходится для этой цели использовать скрипт, с несложным кодом. В чем, собственно, проблема? Работает все прекрасно, да вот беда, после прыжка персонажа, в тот момент, когда он приземляется на землю, происходит небольшой, но изрядно режущий глаз рывок. Причем, если в момент непосредственно приземления не зажата клавиша движения, все проходит как по маслу, без этих неприятных рывков.
Вопрос - как от этих неприятных "конвульсий" избавиться?
Заранее спасибо и всем добра biggrin
YellowAfterlifeДата: Четверг, 19 Ноября 2015, 18:43 | Сообщение # 5516
Сейчас нет на сайте
Цитата ASH2 ()
А никто не сталкивался с изменением разрешения игры?

Знаю, что раньше использовался display_set_size(w,h), однако теперь пишут, что данная функция устарела. Как теперь менять разрешение никто не в курсе?

Разрешение экрана можно поменять ДЛЛ-кой, но нежелательно - для большинства целей должно быть достаточно изменить размер application_surface (через surface_resize). GMS его рисует с пригодным масштабированием автоматически.

Цитата Dante_Devil ()
Доброго времени суток, уважаемые господа.
Без долгих вступлений перейдем к непосредственно "делам"
Итак, я состряпал 2D движок (если мое больное во всех смыслах творение можно так назвать) и все работает вполне себе замечательно за исключением одного НО. Дело в том, что из-за специфики использования динамического освещения в игре, привязать камеру к персонажу стандартным Game-maker-овским способом невозможно. Я про тот, что в "видах" комнаты. приходится для этой цели использовать скрипт, с несложным кодом. В чем, собственно, проблема? Работает все прекрасно, да вот беда, после прыжка персонажа, в тот момент, когда он приземляется на землю, происходит небольшой, но изрядно режущий глаз рывок. Причем, если в момент непосредственно приземления не зажата клавиша движения, все проходит как по маслу, без этих неприятных рывков.
Вопрос - как от этих неприятных "конвульсий" избавиться?
Заранее спасибо и всем добра
Без кода сложно угадывать, но попробую - добавить вызов скрипта, который переставляет камеру, в событие столкновения со стеной (где персонажа возвращает на пригодное место).


Quad69Дата: Четверг, 19 Ноября 2015, 23:00 | Сообщение # 5517
заслуженный участник
Сейчас нет на сайте
Цитата maksim1221232 ()
Почему у меня странно работает новый звуковой двиг gms?
То громкость звука не меняется, то сам звук просто не проигрывается...
Кто с этим сталкивался?

Никто не знает?
arthur33Дата: Пятница, 20 Ноября 2015, 14:30 | Сообщение # 5518
участник
Сейчас нет на сайте
Доброго времени суток.
При работе с GM: Studio возникла проблема с несуществующей переменной (уже не существующей) variable_local_exists и сразу же возник вопрос.
Каким образом возможно осуществить проверку на наличие переменной у объекта?
Допустим, если при создании инвентаря, я проверяю, есть ли у предмета переменная, ограничивающая кол-во возможных копий его в инвентаре.


- Опыт - это то, что получаешь, не получив того, чего хотел.
Новая головоломка


Сообщение отредактировал arthur33 - Пятница, 20 Ноября 2015, 14:31
OpenGOOДата: Пятница, 20 Ноября 2015, 15:09 | Сообщение # 5519
почти ветеран
Сейчас нет на сайте
Цитата arthur33 ()
Допустим, если при создании инвентаря, я проверяю, есть ли у предмета переменная, ограничивающая кол-во возможных копий его в инвентаре.

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


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
YellowAfterlifeДата: Суббота, 21 Ноября 2015, 23:08 | Сообщение # 5520
Сейчас нет на сайте
Цитата arthur33 ()
Доброго времени суток.
При работе с GM: Studio возникла проблема с несуществующей переменной (уже не существующей) variable_local_exists и сразу же возник вопрос.
Каким образом возможно осуществить проверку на наличие переменной у объекта?
Допустим, если при создании инвентаря, я проверяю, есть ли у предмета переменная, ограничивающая кол-во возможных копий его в инвентаре.

Как уже подсказал OpenGOO, давать переменным начальные значения.
Для этого неплохо подходит добавленное в GMS значение undefined:
// в базовом объекте-предмете:
maxcount = undefined;
// в дочернем объекте, для ограничения:
maxcount = 1;
// при проверках:
if (is_undefined(item.maxcount)) {
    // нет ограничения
} else {
    // есть ограничение
}

Попытка добавить\вычесть\... undefined так же приводит к ошибке, что довольно точно передает поведение (возникновение ошибок) при попытках чтения несуществующих переменных в старых версиях.




Сообщение отредактировал YellowAfterlife - Суббота, 21 Ноября 2015, 23:09
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Вопрос - Ответ (Game Maker) (Будут пополняться)
Поиск:

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