| 
	
		
		
			| Результаты поиска |  |  |  | 
| 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 не дели).
 
 Карсон и Питееерс!!!
 |  |  |  |  |  
 |