| 
	
		
		
			| Результаты поиска |  |  |  | 
| XDominator | Дата: Пятница, 27 Июня 2014, 10:32 | Сообщение # 201 | Тема: Счетчик к объекту с анимацией |  | постоянный участник Сейчас нет на сайте | Так бы и написал - разрушение в несколько стадий. 
 Делаешь 1 спрайт из n картинок, которые обозначают стадии
 
 СЧитаем что этот спрайт присвоен объекту.
 
 
 Код  //Create
 stage = 0
 max_stage = 3
 image_speed = 0;
 
 //left pressed
 if stage < max_stage
 stage++;
 
 image_index = stage;
 
 Вот и все.
 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Пятница, 27 Июня 2014, 09:47 | Сообщение # 202 | Тема: Стрельба у танка. |  | постоянный участник Сейчас нет на сайте | Если делаешь через стандартные эффекты дым, то поворачивающимся ты его не сделаешь. Да и не должен он вообще то поворачиваться) 
 Стрельба в гм, как правило, организована примерно так:
 
 
 Код  //Create
 shoot_enabled = true;//Контролирующая переменная(Триггер)
 delay = 60;// - задержка между выстрелами
 bspeed = 10;//Скорость полета пули.
 
 //Global left mouse
 if shoot_enabled
 {
 shoot_enabled = false;//Закрываем условие выстрела
 alarm[0] = delay;//Устанавливаем таймер, который снова раскроет условие выстрела
 bullet = instance_create(x, y, o_bullet)// Создаем объект с именем o_bullet и сохраняем ссылку на него в bullet
 bullet.speed = bspeed;//Ставим скорость пули
 bullet.direction = point_direction(x, y, mouse_x, mouse_y);//Ставим направление(Выстрел в точку курсора)
 }
 
 //Alarm 0
 shoot_enabled = true;//Раскрываем условие.
 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 
 
 Сообщение отредактировал XDominator - Пятница, 27 Июня 2014, 09:48 |  |  |  |  |  | 
| XDominator | Дата: Вторник, 24 Июня 2014, 15:49 | Сообщение # 203 | Тема: Привязывание к персонажу |  | постоянный участник Сейчас нет на сайте | Overdrave, не замечал такого...Вполне может быть   
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Понедельник, 23 Июня 2014, 15:44 | Сообщение # 204 | Тема: GameMaker Studio 1.3 + AdMob |  | постоянный участник Сейчас нет на сайте | Смотрю 1.3 получилось крайне сырой.... 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Понедельник, 23 Июня 2014, 15:42 | Сообщение # 205 | Тема: Привязывание к персонажу |  | постоянный участник Сейчас нет на сайте | zzzza, это - пример очень плохой реализации. Я сам несколько раз вставал на эти грабли. Фишка в том, что у пистолета всегда будет отставание от объекта на 1 шаг. Не знаю с чем это связано, но факт - при такой реализации не больших скоростях объект ведет себя как привязанный, и его координаты ни хрена не совпадают с координатами игрока. Нужно заводить отдельный триггер именно в объекте игрока, включать Draw event и там писать 
 Код  draw_self();
 if pistol = true
 draw_sprite(spr_pistol, 0, x, y);
 
 Соответственно pistol и есть наш триггер - контролирующая переменная. Именно ее значение мы меняем для включения\выключения отрисовки пистолета, и вдобавок, пистолет не будет как "привязанный на резинку"
 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Воскресенье, 22 Июня 2014, 19:20 | Сообщение # 206 | Тема: Движение блока в свободное пространство |  | постоянный участник Сейчас нет на сайте | ну автору это уже явно больше не нужно) 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Воскресенье, 22 Июня 2014, 19:19 | Сообщение # 207 | Тема: Art Money и Game Maker |  | постоянный участник Сейчас нет на сайте | для того, чтобы понять - достаточно ли игра защищена от взлома другими юзерами   
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Суббота, 21 Июня 2014, 00:03 | Сообщение # 208 | Тема: Движение блока в свободное пространство |  | постоянный участник Сейчас нет на сайте | Я лично ниче не понял, больше текста. 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Пятница, 20 Июня 2014, 11:37 | Сообщение # 209 | Тема: Вопрос знатокам |  | постоянный участник Сейчас нет на сайте | Наткнулся с утра на такую неприятную вещь. В ГМС не сохраняются ссылки на объекты в динамических списках. В справке об этом ничего нет, в ГМ 8 оно точно работало. 
 Чтобы было понятней:
 
 Код  list = ds_list_create();
 object = instance_create(0, 0, object0);
 ds_list_add(list, object);
 show_message(ds_list_read(list, 0))//Выдает 0
 
 Возможно, кто то лечил такое?
 Добавлено (20.06.2014, 11:37)---------------------------------------------
 Проблема решена. Функция чтения не ds_list_read(), а ds_list_find_value(). Довольно неочевидный момент, возможно кому то пригодится...
 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 
 
 Сообщение отредактировал XDominator - Пятница, 20 Июня 2014, 10:56 |  |  |  |  |  | 
| XDominator | Дата: Пятница, 20 Июня 2014, 10:45 | Сообщение # 210 | Тема: Некоторые проблемы в Game maker (стрельба, инвентарь) |  | постоянный участник Сейчас нет на сайте | русские буквы в коде допустимы только в комментариях  так что не вникая глубоко, как минимум их из кода нужно убрать полностью. Касательно вывода строк на русском - это возможно. нужно просто делать более глубокую настройку шрифтов. Если открыть любом созданный в 2 клика шрифт, можно увидеть, что там в списке символов только латиница и знаки препинания. Соответственно отображаются в тексте только те символы, которые учтены в выбранном шрифте. 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Четверг, 19 Июня 2014, 14:22 | Сообщение # 211 | Тема: Трение в gms. |  | постоянный участник Сейчас нет на сайте | В твоем примере, friction будет в полной мере отниматься от hspeed только если не будет вертикальной составляющей. friction все таки отнимается от speed, а hspeed и vspeed рассчитываются уже по измененной speed. Хотя мне кажется автору такие тонкости вообще уже ни к чему) 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Среда, 18 Июня 2014, 23:45 | Сообщение # 212 | Тема: Трение в gms. |  | постоянный участник Сейчас нет на сайте | Тебе кажется. friction - это число, которое просто пошагово вычитается из скорости. И поэтому указанное тобой трение - это не совсем трение, а нечто другое, и явно не то о чем спрашивал автор изначально. 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Среда, 18 Июня 2014, 19:58 | Сообщение # 213 | Тема: Трение в gms. |  | постоянный участник Сейчас нет на сайте | Тогда уж скорее 13 - friction. Хотя в любом случае это бред   
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Среда, 18 Июня 2014, 14:03 | Сообщение # 214 | Тема: Трение в gms. |  | постоянный участник Сейчас нет на сайте | Overdrave, перечитай внимательней мой пост. Speed - это лишь результат сложения векторов vspeed и hspeed. Направление результирующего вектора = direction, его длина - speed. Ты можешь задавать speed и direction напрямую - тогда ГМ рассчитает значения vspeed и hspeed исходя из speed и direction, т.е. произведет действия как бы в обратном порядке. Эти пары переменных взаимосвязаны, их нельзя разделить. Friction действует на speed, по факту - просто выполняет код speed -= friction(обычная скорость не может быть отрицательной, в отличии от проекций. Если гамак обнаруживает отрицательную скорость, то он просто выполняет прибавку 180 градусов к direction, т.е. как бы разворачивает объект.). Простейшая геометрия. 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Среда, 18 Июня 2014, 08:14 | Сообщение # 215 | Тема: Game maker studio (android) |  | постоянный участник Сейчас нет на сайте | не GM, а GM studio. Теперь это кроссплатформенный движок, еще с 12 года, если не ошибаюсь 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Среда, 18 Июня 2014, 08:13 | Сообщение # 216 | Тема: Выход за границы комнаты. Как исправить? |  | постоянный участник Сейчас нет на сайте | Смысл помощи в том, чтобы объяснить принцип действия. А если поймет принцип, то дополнительные условия он и сам нарастит   
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Вторник, 17 Июня 2014, 23:25 | Сообщение # 217 | Тема: Game maker studio (android) |  | постоянный участник Сейчас нет на сайте | Тык на экране = нажатие левой кнопки мыши. Если нужен мультитач - device_mouse_*** - группа функций для работы с "несколькими виртуальными мышами" - по сути несколько таких ЛКМ, каждая со своим курсором.
 
 Все просто. Кстати долгое нажатие в одну точку = правая кнопка мыши, если вдруг кто не в курсе
   
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Вторник, 17 Июня 2014, 23:20 | Сообщение # 218 | Тема: Выход за границы комнаты. Как исправить? |  | постоянный участник Сейчас нет на сайте | Ну ты и намалевал простыню   
 Вот ограничения по координате x, скажем, на левую часть комнаты.
 
 в n подставляешь любое значение(скажем, у нас это room_width/2 - середина)
 
 
 Код  if x+dx > n
 {
 x = n;
 }
 else
 {
 x += dx;
 }
 
 Под dx тут подразумевается переменная, которая хранит твою скорость. Если же ты используешь speed\direction систему движения, то тут все усложняется. Нельзя просто писать speed = 0 для какой то координаты, это вызовет прилипание. Тут уже нужно определять координаты, и проверять направление потенциального движения объекта. Используем ту же ситуацию что и выше
 
 Код  if x + dx > 0
 {
 if direction <90 or direction > 270
 {
 speed = 0
 }
 else
 {
 speed = dx
 }
 }
 else
 {
 speed = dx
 }
 
 Код aFriend вроде на первый взгляд работоспособен, но он вдобавок учитывает размер спрайта объекта, а это не помогает читаемости
   
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Вторник, 17 Июня 2014, 23:11 | Сообщение # 219 | Тема: Трение в gms. |  | постоянный участник Сейчас нет на сайте | Начнем с того что friction - это воздействие на скорость, а не координаты. По сути, friction - это уменьшение speed каждый шаг на определенную заданную тобой величину. В свою очередь, speed - это совокупность горизонтальный и вертикальной проекций скорости, проще говоря - hspeed и vspeed. И потому, фактически, friction воздействует именно на них, а не на speed как таковую. Пропорции уменьшения значений этих проекций вычисляются через простейшие тригонометрические формулы, исходя из значения direction объекта. Короче, Склифасофский. Хочешь трения - просто в степе приближай к нулю(не уменьшай! Скорость может быть отрицательной) нужную тебе проекцию. Как то так   
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  | 
| XDominator | Дата: Вторник, 17 Июня 2014, 20:51 | Сообщение # 220 | Тема: Как отлючить событие столновения с обьектом? |  | постоянный участник Сейчас нет на сайте | SpeRdKeaR Я и сам бывает забываю элементарные вещи. Все нормально, такое у всех бывает) 
 Ghaarp
 
 The soul lighter(Android, logic)
 
 Zzzzombie RAGE!!!(For android)
 |  |  |  |  |  
 |