Результаты поиска
| |
ASH2 | Дата: Среда, 25 Октября 2017, 16:30 | Сообщение # 21 | Тема: Летающая птица |
участник
Сейчас нет на сайте
| afq, посмотрел трейлер. Когда ты сам не можешь пройти дальше 13 секунды в своей игры - это, конечно, win. Кстати, в чём суть таблицы рекордов, если генерации, как я понял, в игре нет? Или этот отрезок до бесконечности повторяется?
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Среда, 25 Октября 2017, 12:21 | Сообщение # 22 | Тема: instance_nearest |
участник
Сейчас нет на сайте
| Granner, а если он 2 раза заклинание использовать захочет? Да и смысл? instance_nearest найдёт только ближайший объект вне зависимости от маркера.
MrSlap, не до конца понял, как это поможет. В любом случае, вот тебе небольшой код для решения твоей проблемы, где arrObj - список объектов в последовательности обхода. Я предполагал, что помещаться этот код будет в Create объекта "заклинание" или "проджектайл" или что там у тебя. На текущий момент, расчёты делаются одномоментно при создании, так что если у тебя предметы двигаются или заклинание не мгновенное - нужно переписывать (но, я думаю, с этим ты справишься). Код писал тупо в блокноте, поэтому присутствуют подробные комментарии на случай, если я где-то что-то накосячил
Код //Create arrObj=ds_list_create(); //список с объектами, которые будем обходить
nRad=1000; // радиус, в котором ищем (ну, сейчас пусть 1000 будет)
//Координаты. Изначально - такие, как у объекта nX=x; nY=y;
repeat(nCount)// nCount - сколько раз максимально можем прыгать по объектам { nMin=nRad;//ставим минимальное растояние - радиусом, чтобы дальше не искало idObj=-1;//пока никакой объект мы не нашли with (Object)//Обходим все объекты Object { if (ds_list_find_index(other.arrObj, id)==-1) //если данного объекта нет в списке... { nDist=point_distance(other.nX, other.nY, x, y); //считаем расстояние if (nDist<other.nMin) //Если расстояние меньше минимума на текущий момент { other.nMin=nDist;//обновляем минимум other.idObj=id;//Записываем в переменную id объекта } } } if (idObj==-1)//если мы не нашли объектов поблизости.. { break; //то и не фиг дальше искать } //иначе ds_list_add(arrObj,idObj);// добавляем его id в список nX=idObj.x;//обновляем координаты, чтобы следующий ближайший объект считался от предыдущего, а не от первого nY=idObj.y; } }
Карсон и Питееерс!!!
Сообщение отредактировал ASH2 - Среда, 25 Октября 2017, 12:26 |
|
| |
ASH2 | Дата: Вторник, 24 Октября 2017, 16:06 | Сообщение # 23 | Тема: instance_nearest |
участник
Сейчас нет на сайте
| MrSlap, что-то мне подсказывает, что подобное у тебя не получится сделать с помощью instance_nearest, так как он берёт только 1-ый ближайший экземпляр. Думаю, надо обxодить все экземпляры и просчитывать расстояние. А со списком - да, лучше его использовать, чтобы хранить в нём id объектов, в которых уже был, чтобы не повторяться
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Вторник, 10 Октября 2017, 12:41 | Сообщение # 24 | Тема: Делимся проектами |
участник
Сейчас нет на сайте
| TLT, ну, боевая система там так же постоянно присутствует, но является крайне вторичным элементом и по этой причине будет не сильно развита. Спасибо за отзыв;)
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Вторник, 10 Октября 2017, 10:57 | Сообщение # 25 | Тема: Делимся проектами |
участник
Сейчас нет на сайте
| Раз пошла такая пьянка - я тоже сброшу. Мой новый проект "Lucid: knock harder". Пусть вас не обманывает внешняя похожесть на какую-то выживалку, это "игра на внимание".
Скрин
Небольшое видео
P.s. Шрифты временные
Карсон и Питееерс!!!
Сообщение отредактировал ASH2 - Вторник, 10 Октября 2017, 10:58 |
|
| |
ASH2 | Дата: Вторник, 26 Сентября 2017, 16:44 | Сообщение # 26 | Тема: Что такое Texture Groups? |
участник
Сейчас нет на сайте
| Я не до конца изучил этот вопрос в GMS2, но когда я что-то подобное пробовал в GMS при загрузке картинок из кода жралось гораздо больше оперативки, чем при добавлении в редакторе (но я пробовал подгружать довольно большие изображения 800х800 и более). И я говорю о десятке раз, то есть, условно 100 Мб вместо 5Мб. Но, с другой стороны их не надо грузить все разом. Думаю, тут больше зависит от кол-ва картинок, которые надо одновременно использовать. Нужно тестировать... Попробуй, последи за оперативкой в момент загрузки/выгрузки (напиши свои изыскания;))
По поводу Texture Groups - это не панацея. В чём смысл: ты создаёшь несколько условных групп и у каждого спрайта в редакторе есть такой параметр как "Текстурная группа". Ты разделяешь спрайты на группы и тогда при формировании графических атласов редактором он не раскидывает спрайты и отдельные его кадры хрен пойми как, а идёт чётко по группам. Например, есть группа "ГГ", к которой относится вся анимация ГГ. В этом случае, он сначала запихнёт в атласы все эти спрайты ГГ, а потом примется за другие текстурные группы с новых атласов.
Это довольно полезно, так как если у тебя много графики и так получилось, что 20 кадров одного спрайта раскидано по 20 атласам - игре придётся подгрузить 20 довольно больших картинок (атласов), чтобы ты мог использовать всего 1 спрайт. А разбиение на группы позволяет минимизировать данную проблему.
Карсон и Питееерс!!!
Сообщение отредактировал ASH2 - Вторник, 26 Сентября 2017, 16:46 |
|
| |
ASH2 | Дата: Вторник, 26 Сентября 2017, 15:45 | Сообщение # 27 | Тема: Как работает instance_change |
участник
Сейчас нет на сайте
| instance_change(obj, perf);
obj - на экземпляр какого объекта меняем текущий экземпляр.
perf(true\fasle) - надо ли у данного экземпляра и у нового объекта вызывать события создания и уничтожения.
То есть instance_change(SecondObj, true); равносильно instance_create(SecondObj) instance_destroy()
А instance_change(SecondObj, false); необходим, если, к примеру, нужно какие-то параметры из заменяемого экземпляра использовать в дальнейшем.
Единственный нюанс, который нашёл, что не переносятся физические свойства экземпляра.
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Среда, 20 Сентября 2017, 16:56 | Сообщение # 28 | Тема: Вопрос - Ответ (Game Maker) |
участник
Сейчас нет на сайте
| AlexProger, определяешь объект, отвечающий за отрисовку интерфейса. В нём будут храниться данные для отрисовка, а в событии draw будет соответственно вся отрисовка (тот же draw_text). Камера у тебя есть. Это Вид (View) в "комнате". Для того, чтобы не улетал за экран достаточно поменять x и y в функциях отрисовки (тот же draw_text) на относительные от вида координаты. Рекомендую почитать FAQ. В частности, там твой вопрос в пункте 3.2 Добавлено (20 сентября 2017, 16:56) --------------------------------------------- SmirnuX, через collision_line. Через него ты осуществляешь проверку столкновения отрезка с объектом, дальше дело алгоритма. То есть, берёшь отрезок от начала луча и начинаешь его увеличивать через цикл. Как только есть столкновение - приехали. Кстати, рекомендую использовать 2 цикла для грубой и точной проверки (если сработала грубая). Так как проверкой коллизии с увеличением отрезка на 1 пиксель сильно загрузишь программу. И не забудь установить максимальную длину отрезка (чтобы до бесконечности не проверял)
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Среда, 20 Сентября 2017, 16:38 | Сообщение # 29 | Тема: Вызов события по клику мыши на объекте нарисованном в GUI |
участник
Сейчас нет на сайте
| zillkor, Что значит "кнопка разной ширины?". Не понял. Кнопка она одна, она не может быть разной ширины. Если же у тебя 1 кнопка на которую ты через внешний код накидываешь спрайт для отрисовки через draw - так закинь этот спрайт и в sprite_index этого экземпляра.
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Среда, 20 Сентября 2017, 12:37 | Сообщение # 30 | Тема: Вопрос - Ответ (Game Maker) |
участник
Сейчас нет на сайте
| Цитата AlexProger ( ) Помогите, плиз! 1.Как добавить шрифт из спрайтов? 2.Как Сделать HUD с таймером? 3.Как сделать в движении персонажа задержку?
1. Зачем? Создай свой шрифт на основании спрайтов и юзай. 2. draw_text(x,y,nTimer) 3. Код if keyboard_check(key) { n++ if (n>nZaderzhka) { *управление* } } else { n=0 }
Карсон и Питееерс!!!
Сообщение отредактировал ASH2 - Среда, 20 Сентября 2017, 12:37 |
|
| |
ASH2 | Дата: Среда, 20 Сентября 2017, 12:28 | Сообщение # 31 | Тема: Вызов события по клику мыши на объекте нарисованном в GUI |
участник
Сейчас нет на сайте
| zillkor, а разве в принципе должно срабатывать? draw_rectangle это ж вроде тупо отрисовка квадрата, ничего ты с ним не сделаешь, меняй сам объект или подгоняй его спрайт под размеры своего отрисованого квадрата.
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Вторник, 12 Сентября 2017, 11:13 | Сообщение # 32 | Тема: Вопрос - Ответ (Game Maker) |
участник
Сейчас нет на сайте
| dildo_bomber, ну, вариантов-то много. Можно промежуточную точку посмотреть, например, но чтобы с другими объектами такой фигни не было - я посоветовал бы проверять лучше через collision_line и, соответственно, текущее и предыдущее положение.
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Среда, 30 Августа 2017, 17:53 | Сообщение # 33 | Тема: Суббота скриншотов |
участник
Сейчас нет на сайте
| Скриншотные субботы распространённая тема в подобных сообществах/форумах, но с подобной активностью как здесь, думаю, что это будет иметь смысл только если администрация будет публиковать это как новость на главной.
Карсон и Питееерс!!!
Сообщение отредактировал ASH2 - Среда, 30 Августа 2017, 17:53 |
|
| |
ASH2 | Дата: Среда, 30 Августа 2017, 12:53 | Сообщение # 34 | Тема: Майнкрафт |
участник
Сейчас нет на сайте
| А зачем в принципе нужен клон майнкрафта (тем более, тут идут какие-то размышления о издателе )? Ну вот майнкрафт в *вставьте сеттинг* или майнкрафт с *вставьте интересную идёю* это я ещё могу понять. Но делать тупо клан майнкрафта... х.з... Вставить пару новых объектов - делай моды
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Пятница, 18 Августа 2017, 10:48 | Сообщение # 35 | Тема: Где скачать документацию? |
участник
Сейчас нет на сайте
| MedievalRain, в pdf не видел, если нужна стандартная, с набором html - держи тык (открывать с index). Однако, если у тебя GMS2 установлен - эта документация у тебя уже есть, посмотри в папке гамака
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Пятница, 11 Августа 2017, 11:00 | Сообщение # 36 | Тема: Little Kite |
участник
Сейчас нет на сайте
| Anate, выглядит очешуительно. В принципе, как и предыдущий проект . Не до конца понятно, зачем переделывать то, что уже было сделано, но автору видней.
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Пятница, 04 Августа 2017, 14:45 | Сообщение # 37 | Тема: [2.5D Racing]TN's Outrun Engine |
участник
Сейчас нет на сайте
| TN, немного не в тему, тебе сюда лучше: тыц
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Пятница, 04 Августа 2017, 14:39 | Сообщение # 38 | Тема: Для души |
участник
Сейчас нет на сайте
| Цитата Sandar ( ) Поставили свой почтовый сервер. Если что пишите
Чувствую, скоро и мерч уже появится
Карсон и Питееерс!!!
|
|
| |
ASH2 | Дата: Четверг, 03 Августа 2017, 12:19 | Сообщение # 39 | Тема: Рассказываем на примере нашего проекта, как довести до ума |
участник
Сейчас нет на сайте
| Valter, сразу по названию догадался, что это будет один из проектов типа: "Мы сейчас вместе заработаем 1 млн $" , только тут в контексте игры , но решил пролистать видео. Не заметил никаких вставок, демонстрирующих геймплей, сидеть смотреть на плохо заметного, сидящего в полумраке мужика, который 10 минут что-то планирует мне, честно, очень лень. Кстати, рекомендую хотя бы самому просматривать что наснимал прежде чем выкладывать, так как последние полторы минуты видео - это чёрный экран под фоновую музыку.
Карсон и Питееерс!!!
Сообщение отредактировал ASH2 - Четверг, 03 Августа 2017, 12:19 |
|
| |
ASH2 | Дата: Вторник, 01 Августа 2017, 13:55 | Сообщение # 40 | Тема: Какой массив будет более оптимизированный? |
участник
Сейчас нет на сайте
| Интернет, как я и говорил, вместо этого лучше написать
Код for(i=0;i<6;i++) { mass[i]=0 } а уже когда будешь использовать этот массив (я не знаю где, например, будешь от координаты x отстраиваться, которая у тебя по пикселям) будешь уже обращаться к этому массиву как mass[x/32] (только на 0 не дели).
Карсон и Питееерс!!!
|
|
| |
|