Суббота, 20 Апреля 2024, 01:27

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум игроделов » Записи участника » AHTOXA82 [34]
Результаты поиска
AHTOXA82Дата: Вторник, 05 Ноября 2013, 06:52 | Сообщение # 21 | Тема: Цветные полоски в режиме отладки.
частый гость
Сейчас нет на сайте
А если беграунд очень большой, ну скажем 4000x4000 имеет смысл его разрезать на части?
И вот еще. В вашем примере беграунд был 854*480. Допустим мы выставили пакет 1024*1024, т.е. больший по размерам чем беграунд. Это нам гарантирует, что беграунд не будет уменьшен? Не получится ли так, что например на текстурном пакете студия разместит несколько спрайтов, а потом вздумает туда же запихнуть наш беграунд, и поскольку места для него уже не останется, ей придется его сжать в 2 или более раз?
AHTOXA82Дата: Понедельник, 04 Ноября 2013, 22:00 | Сообщение # 22 | Тема: Цветные полоски в режиме отладки.
частый гость
Сейчас нет на сайте
Благодарствую за столь подробный ответ. Более-менее разобрался.
Последний вопрос. Какой размер пакета посоветуете выставить для оптимального проигрывания на андроиде? Я так понимаю, и очень маленький плохо и очень большой плохо.
AHTOXA82Дата: Воскресенье, 03 Ноября 2013, 07:39 | Сообщение # 23 | Тема: Цветные полоски в режиме отладки.
частый гость
Сейчас нет на сайте
Ого! Сколько важнейшей информации я сейчас узнал, это важнее даже чем цвета отладчика. Поставил бы сто плюсов, если бы мог.
Однако, вопросов стало еще больше.

1) В моем примере после фпс две цифры (4) и (6). Я правильно понимаю, что 4 -то значит с четырех страниц (текстурных пакетов) считываются спрайты, а 6 - это значит, что 6 предметов (назовем их так) отрисовываются с событии драв (это могут быть фигуры, спрайты, сурфейсы)?

2) Если у меня 10 текстурных пакетов, а задействовано в данный момент 3 (т.е. спрайты, находящиеся на остальных 7 пакетах не используются в данный момент в комнате), то первая цифра будет 3?

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

4) Возникает логичный вопрос. Предположим в глобальных настройках игры мы поставили размер текстурного пакета 256x256, разместили все наши спрайты на 4-х пакетах, и у нас во время игры задействовано все 4 таких пакета. В другом случае мы поставили размер пакета 512x512, что по площади (а значит и по количеству пикселей) в 4 раза больше чем в предыдущем примере. Мы разместили все наши спрайты на одном пакете и во время игры задействован он один. Одинакова ли будет загрузка процессора?

5) В справке гмс написано, что студия нерационально использует текстурные пакеты и их надо самому создавать. А как вручную разместить спрайты на текстурных пакетах? И еще тут же. Когда я нажимаю глобальные настройки игры -> виндовс -> графика -> текстурные пакеты (посмотреть) у меня вылезает ОДИН текстурный пакет (или это не текстурный пакет?) со всеми моими спрайтами. Почему тогда в режиме отладки первая цифра равна 4?

6) И последний вопрос. В справке написано, что текстурные пакеты загружаются фонами, тайлами и спрайтами. Но вот я проверил, если выключить отрисовку сурфейса, то почему-то количество пакетов уменьшается. В справке забыли написать что сурфейсы тоже отрисовываются на пакетах или я что-то путаю? Интересно, что при попытке увеличить размер сурфейса (я его сильно увеличил) количество задействованных пакетов не поменялось.
AHTOXA82Дата: Воскресенье, 03 Ноября 2013, 04:15 | Сообщение # 24 | Тема: Цветные полоски в режиме отладки.
частый гость
Сейчас нет на сайте
Цитата Overbotex ()
Полагаю первая цифра означает, сколько было обращений к текстурным пакетам в течение одного степа. А вторая сколько собранных полотен (или регионов) было отправлено в видеопамять.

Тут не совсем понятно, что такое текстурные пакеты и что такое полотна? Не могли бы вы привести примеры, которые увеличивали бы первую цифру и вторую.

И еще вопрос, если можно. На моем скриншоте видно, что там отсутствует белая полоса (которая означает сколько памяти еще можно задействовать, чтобы фпс не просел). Я сейчас вспоминаю, что эту полосы я видел всего раз или два. Причем не на компьютере, а на планшете, который гораздо слабее. Почему так происходит, почему на достаточно мощном компе нет белой полосы? Вариант что он загружен по максимуму не подходит. В моем примере (тот, что на картинке во втором посте) скорость комнаты была 60, значит шаг длится ровно до белой отметки. Там еще куча свободного места.
AHTOXA82Дата: Суббота, 02 Ноября 2013, 21:08 | Сообщение # 25 | Тема: Цветные полоски в режиме отладки.
частый гость
Сейчас нет на сайте
Благодарю за ответ. Только вот эти цвета работают на студии 1.2? Просто я видел описание отладчика в справке, так там только про три цвета говориться.
Еще вопрос - что означают цифры в скобках после значения фпс? см.
Ну и логичный вопрос - если у меня в игре, например событие клавиатуры очень загружено, а событие шага нет, сэкономлю ли я на нагрузке процессора, если закину событие клавиатуры в событие шага? По логике нет, но мало ли. Не просто же так создатели гмс сделали столько много разных цветов. У меня например в программах часто событие нажатия кнопки стоит в шаге, может не стоит этого делать, а выводить отдельно в событие клавиатуры?
AHTOXA82Дата: Пятница, 01 Ноября 2013, 20:47 | Сообщение # 26 | Тема: Цветные полоски в режиме отладки.
частый гость
Сейчас нет на сайте
Здравствуйте. Хотел спросить, что означают цветные линии в верхнем левом углу режима отладки в GMS? В справке прочитал, что вроде как красная - это время на обработку шага, желтая - время на отрисовку всего в комнату, а белая как-то связана с видеокартой. Т.е. основная идея понятна, чем длиннее полоски, тем сильнее загружен комп. Но хотелось бы поподробней узнать. Если можно, приведите по 2-3 примера, которые будут сильно нагружать каждый цвет.
AHTOXA82Дата: Вторник, 16 Апреля 2013, 21:03 | Сообщение # 27 | Тема: размер окна в режиме отладки
частый гость
Сейчас нет на сайте
Цитата (Luxorix)
А если нужно менять переменные на ходу

А как менять переменные на ходу?
AHTOXA82Дата: Суббота, 13 Апреля 2013, 21:54 | Сообщение # 28 | Тема: размер окна в режиме отладки
частый гость
Сейчас нет на сайте
Здаравствуйте. В Game Maker ужасно неудобная работа в режиме отладки. Проблема в том, что окно игры и окно отладчика активируются по очереди. Т.е. когда активно окно отладки игра останавливается, а когда работает игра, вводить данные в отладчик невозможно. В восьмой версии с этим еще можно был как-то мириться, но вот в Game Maker Studio размер окна отладки занимает 60% площади экрана монитора и работать стало совсем невозможно. Окно можно уменьшить, но пока я это делаю игра уже немного продвинется вперед, а если сбросить комнату на начало, то размер окна отладчика возвращается на исходный (большой). Может быть непонятно объяснил, прилагаю скрин http://zalil.ru/34436132.
Подскажите кто знает, как уменьшить размер окна отладчика под тот, который мне нужен.
AHTOXA82Дата: Воскресенье, 24 Марта 2013, 22:08 | Сообщение # 29 | Тема: Отрисовка траектории
частый гость
Сейчас нет на сайте
Удивительно, но до сих пор не было таких вопросов. Как нарисовать траекторию баллистического движения тела? Вроде все просто кажется, а когда начинаешь соваться получается не очень весело.
Суть такая, у меня из пушки вылетает ядро (камень, стрела, мяч… все что угодно). Надо нарисовать траекторию движения этого тела, причем сделать это двумя способами:
1) Отрисовка траектории на лету (т.е. ядро летит, а за ним остается след)
2) Отрисовка траектории до выстрела (т.е. я направил пушку под определенным углом, задал скорость и уже пунктиром высвечивается будущая траектория)
Т.е. нужно именно рисовать/отображать траекторию, а не писать код чтобы ядро так двигалось.
Один вариант я все-таки придумал, это использовать частицы. Таким образом можно реализовать первый пункт. Недостаток этого варианта в том, что частицы жрут много памяти. Кроме того, частицы появляются через равные промежутки времени, и когда ядро летит быстро расстояние между точками траектории становиться больше (см. рис). Выглядит это некрасиво. Экспериментировал с формой частиц стало еще хуже.
При реализации первого пункта проблема заключается в следующем. Написать код для траектории вроде несложно:
draw_line(o_jadro.xprevious,o_jadro.yprevious,o_jadro.x,o_jadro.y)
И засунуть его в степ. Т.е. он будет в каждом шаге отрисовывать маленькую черточку, из которых потом будет складываться большая линия. Проблема в том, что когда программа рисует вторую черту первая стирается! Т.е. мой вопрос фактически звучит так: как заставить фигуры, нарисованные в предыдущем шаге стираться не автоматически, а когда я этого захочу?
Что касается второго пункта (это где надо заранее знать, как будет двигаться объект), то тут вообще у меня версий нет. Я хорошо знаю физику и математику, знаю баллистику, знаю как будет двигаться ядро и от чего зависит его полет. Но как все это нарисовать?! В гейм мейкер нет функции отрисовки математических функций. Здесь нельзя нарисовать параболу или гиперболу. Как же быть?
Не работал ранее с путями, хотел как-то присобачить функцию
draw_path(path,x,y,absolute)
Первый пункт с ней сделать не получится точно, поскольку тут надо заранее знать траекторию. А второй можно еще подумать.
Также не работал с сурфейсами (вообще не очень пока понимаю что это такое) может они как-то помогут? Хотя из того, что понял из справки не особо они помогут.
Вот такие проблемы у меня. Подсказываейте.
не разобрался как картинки вставлять: http://zalil.ru/34377741


Сообщение отредактировал AHTOXA82 - Воскресенье, 24 Марта 2013, 22:13
AHTOXA82Дата: Воскресенье, 03 Марта 2013, 03:54 | Сообщение # 30 | Тема: Как заставить генератор работать при рестарте
частый гость
Сейчас нет на сайте
Блин, ну вот все перепробовал казалось уже, а оказывается вон оно как все решалось. Спасибо Farcuat. Ошибка моя заключалась в том, что я не удалял тип частиц. На самом деле, в приведенном тобой коде можно даже систему не удалять только тип, все работает. А я наоборот пытался удалять генераторы, системы, очищал их и т.д.
Но все же, объясните мне что происходит-то? Почему надо тип удалять, что он вообще делает этот тип, зачем он нужен? Я сейчас уже вообще ничерта не понимаю. Чем отличается тип частиц, система и генератор?
Как я думал. Тип задает спрайт, форму, размер, начальные кинематические параметры частиц. Т.е. это по идее менять не нужно, если в моей игре частицы будут оставаться теми же. Система нужна для того, чтобы в ней эти частицы создавались. Т.е. это как-бы среда для образования частиц. Генератор создает частицы. На самом деле я не понимаю разницы между генератором и системой. Создавать частицы можно и без генератора, есть функция

part_particles_create(ind,x,y,parttype,number)

которая похожа на

part_emitter_burst(ps,ind,parttype,number)

Расскажите, пожалуйста, кто хорошо в этом разбирается.
AHTOXA82Дата: Суббота, 02 Марта 2013, 20:59 | Сообщение # 31 | Тема: Как заставить генератор работать при рестарте
частый гость
Сейчас нет на сайте
Пять дней не могу разобраться с частицами, будь они не ладны.
Ситуация вроде простая. Мне нужно чтобы: 1) генератор частиц был привязан к некому объекту (т.е. двигался вместе с ним); 2) генератор, при наступлении определенного события, начинал генерировать частицы при переходе в другую комнату. С первой проблемой я справился, но вот со второй не знаю что делать. Чтобы вопрос мой был более контретным разберем пример.
Создаю два объекта: 1)object0 движущийся объект из которого будут вылетать частицы (в моем примере это бомба); 2) object3 объект - контроллер, который мы делаем постоянным(у меня это шахматная фигура)
В событии создания контроллера прописываю:

sist = part_system_create() //создать систему частиц

tip =part_type_create() //тут задаем тип (в общем-то неважно что здесь будет)
part_type_shape(tip,pt_shape_pixel)
part_type_size(tip,0.5,1,0,0)
part_type_color_rgb(tip,158,158,120,120,20,20)
part_type_blend(tip,0)
part_type_life(tip,10,30)
part_type_speed(tip,1,2,0,0)
part_type_direction(tip,90,90,0,0)

gen = part_emitter_create(sist)//задаем генератор

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

hspeed=1 //чтобы объект двигался

part_emitter_region(object3.sist,object3.tip,x,x+32,y,y,ps_shape_rectangle,ps_distr_linear) //самая проблемная функия. Здесь задается положение и форма площади, в которой будут генерироваться частицы
part_emitter_burst(object3.sist,object3.gen,object3.tip,1) //тут определяется частицы какого типа будут генерироваться и в каком количестве

Этот метод описан на одном форуме, и все постоянно ссылаются на него. Суть в том, что в одном объекте мы создаем систему и генератор, а во втром задаем что этот генератор должен генерировать и в каком количестве.

В чем собственно вопрос? Если запустить игру в режиме редактирования, то при нажании рестатра частицы перестают генерироваться. Вопрос - почему?
Проблема, собственно, заключается в том что то же самое происходит при переходе в другую комнату, несмотря на то, что объект-контроллер у меня постоянный.

Исходник:
http://zalil.ru/34311095
AHTOXA82Дата: Суббота, 23 Февраля 2013, 05:51 | Сообщение # 32 | Тема: Мои вопросы по созданию коммерческих игр.
частый гость
Сейчас нет на сайте
Вот сейчас прочитал и подумал про четвертый пункт:
Цитата (Dragon6)
4.Если у меня крякнутая ОС, то я могу делать коммерческие проекты?

Тут речь идет о крякнутой Windows, я правильно понял?
А разве можно вообще как-нибудь узнать, сделана игра на лицензионной ОС или нет? Я вот делаю игру на Гейм Мейкер, но ОС у меня конечно крякнутая, это можно определить по исходникам?
AHTOXA82Дата: Среда, 20 Февраля 2013, 18:22 | Сообщение # 33 | Тема: Помогите разобраться с циклом for
частый гость
Сейчас нет на сайте
Да, Xeno17, действительно. Большое спасибо. Я не слишком разбираюсь в гм, так что для меня это было новостью.
Странно, я думал что событие выполняется для объекта, в котором это событие совершается, а оказывается для экземпляров. Интересно, это правило выполняется для всех событий? Т.е. не только для события клавиатуры, но и события шага например тоже?


Сообщение отредактировал AHTOXA82 - Среда, 20 Февраля 2013, 18:31
AHTOXA82Дата: Вторник, 19 Февраля 2013, 21:38 | Сообщение # 34 | Тема: Помогите разобраться с циклом for
частый гость
Сейчас нет на сайте
Преветствую.
Помогите разобраться с таким вот примером.
в событии клавиатуры пишу код:
for (n1=1; n1<=instance_number(object0); n1+=1)
{
if (instance_find(object0,n1-1)).y < 240
{
(instance_find(object0,n1-1)).y += 20
}
}
По идее он должен работать так: 1) присваиваем n1=1; 2) проверяем, меньше ли n1 общего количества экземпляров объекта object0; 3) выполняем тело цикла, а именно: в случае, если координата y экземпляра с номером n1-1 меньше 240, мы опускаем этот экземляр по вертикали на 20 пикселей, а если координата больше или равна 240, то ничего не делаем; 4) потом прибавляем к n1 единицу, проверяем неравенство и все повторяем.
Как я думаю, результат должен быть таким: все экземпляры выше уровня 240 должны сдвинуться на 20 пикселей вниз, а все экземляры ниже, должны остаться на месте.
По факту происходит не так. Все экземляры выше уровня 240 опускаются до тех пор, пока их координата по вертикали не будет больше 240 ( т.е. пока не перестанет выполняться условие (instance_find(object0,n1-1)).y < 240)
Почему так происходит?

Залил иходник сюда
http://zalil.ru/34276708


Сообщение отредактировал AHTOXA82 - Вторник, 19 Февраля 2013, 21:54
Форум игроделов » Записи участника » AHTOXA82 [34]
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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