Четверг, 28 Марта 2024, 14:25

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Вопрос - Ответ (Game Maker) (Будут пополняться)
Вопрос - Ответ (Game Maker)
FarcuatДата: Пятница, 20 Февраля 2015, 12:42 | Сообщение # 5281
частый гость
Сейчас нет на сайте
Anthem, обычно, тот кто создает объект должен отвечать за его содержимое. Т.е. делается функция обертка для создания и потом вызывается с нужными параметрами.

CreateSnow(random(800), 0, Control.CurrentSpeed, Control.ParamA, Control.ParamB);

Скрипт CreateSnow
OpenGOOДата: Пятница, 20 Февраля 2015, 12:51 | Сообщение # 5282
почти ветеран
Сейчас нет на сайте
Цитата Anthem ()
Я так понимаю, что использовать переменную в Create одного объекта, которая была инициализирована в Create другого объекта не совсем правильная практика.

Это правильная практика, а вот неправильно использовать переменные объекта, который еще не был инициализирован.


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

[GameMaker: Studio v1.4.9999]
Fill_FreemanДата: Пятница, 20 Февраля 2015, 13:35 | Сообщение # 5283
почетный гость
Сейчас нет на сайте
Цитата Anthem ()
создание всех объектов происходит в определенном порядке, и один может не иметь возможности считать переменную из другого, если тот к этому моменту не был создан.


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

Цитата OpenGOO ()
Это правильная практика, а вот неправильно использовать переменные объекта, который еще не был инициализирован.


Дело говоришь prof


AnthemДата: Пятница, 20 Февраля 2015, 17:22 | Сообщение # 5284
Д'Артаньян
Сейчас нет на сайте
Farcuat, если бы я это мог понять, вряд ли у меня возникли бы подобные проблемы:)
Цитата OpenGOO ()
Это правильная практика, а вот неправильно использовать переменные объекта, который еще не был инициализирован.
Здесь кроется ответ на мой вопрос?


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
skypoДата: Суббота, 21 Февраля 2015, 18:13 | Сообщение # 5285
участник
Сейчас нет на сайте
заметил странную фигню - рандом в GMS совсем не рандомный в отличие от GM8. дело в том, что часто используя команду irandom я делаю мир рогалика - и если в GM8 он разный, то в GMS при каждом тесте он всегда один и тот же, изо дня в день.такое ощущение, что в генераторе не используется текущее время для построения последовательности, что странно. наверное, стоит писать какой-то свой рандом.

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


Сообщение отредактировал skypo - Суббота, 21 Февраля 2015, 18:16
LunarPixelДата: Суббота, 21 Февраля 2015, 18:45 | Сообщение # 5286
старожил
Сейчас нет на сайте
skypo, перед использованием рандома, нужно прописать randomize(), чтобы активировать построение разных последовательностей.

Banan4ikДата: Воскресенье, 22 Февраля 2015, 20:25 | Сообщение # 5287
частый гость
Сейчас нет на сайте
Как писать по-русски в гмс? Знаю про шрифты, только какай там диапазон цифр? И в гм 8 можно было сразу определить, как тут?

I dance only with russians.
LunarPixelДата: Воскресенье, 22 Февраля 2015, 20:31 | Сообщение # 5288
старожил
Сейчас нет на сайте
Banan4ik, диапазон для русских символов, если не ошибаюсь, от 1040 до 1103.

AnthemДата: Воскресенье, 22 Февраля 2015, 21:55 | Сообщение # 5289
Д'Артаньян
Сейчас нет на сайте
Изменение свойств шрифта, типа его названия и размера, не приводят к соответствующим визуальным изменениям. С чем это может быть связано?

Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
Banan4ikДата: Воскресенье, 22 Февраля 2015, 22:08 | Сообщение # 5290
частый гость
Сейчас нет на сайте
Цитата Anthem ()
Изменение свойств шрифта, типа его названия и размера, не приводят к соответствующим визуальным изменениям. С чем это может быть связано?

А ты прописал draw_set_font(font)?


I dance only with russians.
AnthemДата: Воскресенье, 22 Февраля 2015, 22:12 | Сообщение # 5291
Д'Артаньян
Сейчас нет на сайте
Banan4ik, да, конечно. Шрифт уже был раньше установлен, теперь решил изменить его, а никакого эффекта нет

Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
SkorpyXДата: Воскресенье, 22 Февраля 2015, 22:27 | Сообщение # 5292
участник
Сейчас нет на сайте
Anthem, попробуй прописать вручную символы, которые тебе нужны
Banan4ikДата: Понедельник, 23 Февраля 2015, 23:02 | Сообщение # 5293
частый гость
Сейчас нет на сайте
Выдает тут ошибки, а именно на case'ах. Пишет необходимо определить константы, но как их то определить?
Цитата
{
switch(tovar_price=100)
{
case block=1:
block1_tovar=1;
var_money-=100; //1
break;
case block=2:
block2_tovar=1
var_money-=100 //2

}
}


I dance only with russians.
AnthemДата: Понедельник, 23 Февраля 2015, 23:17 | Сообщение # 5294
Д'Артаньян
Сейчас нет на сайте
switch(здесь необходимо написать переменную, от которой будут зависеть варианты)
В твоем случае, это block
Код
{   
switch(block)   
{   
case 1: block1_tovar=1; var_money-=100; break;   
case 2: block2_tovar=1; var_money-=100; break;
}   
}

Да, здесь все очень, очень не понятно))


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры


Сообщение отредактировал Anthem - Вторник, 24 Февраля 2015, 18:54
skypoДата: Суббота, 28 Февраля 2015, 18:06 | Сообщение # 5295
участник
Сейчас нет на сайте
пара вопросов, пожалуйста
1)
таки вот не хитрым кодом делаю оконце игры размером с экран

комната и окно приобретают размеры экрана, но спрайты "пикселизируются" - они того же размера, что и до этой процедуры, но такое ощущение, что их сперва сжали (с потерей кач-ва), а потом растянули. в результате кубик 75 на 75 выглядит как 25 на 25 растянутый в 3 раза. интерполяция размывает, но проблемы не решает. такое ощущение, что где-то какая-то глобальная настройка косячит, но так и не нашел...

2)вот такой код

на полупрозрачной подложке должен быть непрозрачный шрифт, но вот только шрифт тоже почему-то полупрозрачный. интерполяцию отключал - все равно.

P.S.: а самое главное - на GM8 все отрабатывает идеально! <_<


Последний готовый проект:
флэппиберд с яйцами "Rescue Bird"(скачать с GooglePlay)
В разработке:
3-в-ряд "Корабельная команда", рогалик "Живой Мир", квест "Экипаж "Солнечной" (ждите на КРИЛ-15!)
LuxorixДата: Суббота, 28 Февраля 2015, 18:38 | Сообщение # 5296
постоянный участник
Сейчас нет на сайте
1) Может screen_redraw() поможет

2) Замени draw_text на draw_text_color


LUXORIX GAMES
skypoДата: Суббота, 28 Февраля 2015, 19:53 | Сообщение # 5297
участник
Сейчас нет на сайте
Цитата Luxorix ()
1) Может screen_redraw() поможет

2) Замени draw_text на draw_text_color


заметил, что в отладчике при запуске игры проскакивают такие строки:
Application Surface created: w=204, h=204
вот это вот оно и есть - программа для рисования создает себе сурфейс размером с первоначальный размер первой комнаты и затем его использует, "натягивая" на экран игры. первую комнату можно сделать большой , но это не панацея, т.к. а)все равно будут графические артефакты при пожатии б)подозреваю, есть больше ресурсов
вот как тут быть? куда вписать код, который стартует вперед всего?

во втором случае помогло снять галку в настройках шрифтов "высокое качество". на мелких шрифтах она работает исключительно во вред


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


Сообщение отредактировал skypo - Суббота, 28 Февраля 2015, 20:00
YellowAfterlifeДата: Воскресенье, 01 Марта 2015, 16:22 | Сообщение # 5298
Сейчас нет на сайте
Цитата skypo ()
комната и окно приобретают размеры экрана, но спрайты "пикселизируются" - они того же размера, что и до этой процедуры, но такое ощущение, что их сперва сжали (с потерей кач-ва), а потом растянули. в результате кубик 75 на 75 выглядит как 25 на 25 растянутый в 3 раза. интерполяция размывает, но проблемы не решает. такое ощущение, что где-то какая-то глобальная настройка косячит, но так и не нашел...

Помимо изменения размера окна, нужно делать
Код
surface_resize(application_surface, display_get_width(), display_get_height())

Или, как вариант, отключить его через application_surface_enable(false)




Сообщение отредактировал YellowAfterlife - Воскресенье, 01 Марта 2015, 16:22
LuxorixДата: Четверг, 19 Марта 2015, 19:14 | Сообщение # 5299
постоянный участник
Сейчас нет на сайте
Прошу помочь знатоков. Есть игровое поле в клетку. При открытии клетки, если под ней монстр, нужно вокруг него заблокировать клетки.
Сделал вот такой скрипт в step клетки, но он находит первого попавшегося врага, если их два, то начинает работать не корректно:
Код
var aaa;
lock=0;
if instance_exists(objVirus) //Если объект существует проверяем дальше
{
     aaa=collision_rectangle(x-64,y-64,x+64,y+64,objVirus,0,1) //проверяем в радиусе 64 все клетки, находим врага и
         if aaa!=noone
         {
             draw_text(x,y,aaa)
             if aaa.activ=1 lock=1 //если враг активен, то ячейка блокируется
         }else lock=0
}else lock=0


Я так понимаю нужно копать в направлении ds_grid либо как то циклом перебирать врагов близлежащих. Проблема в том что есть враги активные и не активные. Клетка должна блокироваться если только рядом активные враги. Как сделать?


LUXORIX GAMES
skypoДата: Четверг, 19 Марта 2015, 19:40 | Сообщение # 5300
участник
Сейчас нет на сайте
Цитата Luxorix ()
Как сделать?

вообще неплохо бы ввести сетку, и к ней уже привязывать по х/у монстров, всякие поклеточные операции будут не в пример проще. что касается активных/пассивных, может закоротить на переменную visible - все равно, я так понимаю, неактивные "прячутся".
если без сетки, то проверяем через with активных врагов и те, кто <=64 по х или по у по сравнению с координатами клетки - блокируют эту клетку.


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

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