Общие вопросы по Game Maker 6/7/8/Studio
|
|
DJsania | Дата: Воскресенье, 12.06.2016, 19:30 | Сообщение # 856 |
Заглянувший
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
| Как сделать объект который будет привязан к персонажу, и в тоже время вращятся вокруг его по оси следя за курсором? ____________________________________________ Категория: Объекты Как сделать объект который будет привязан к персонажу, и в тоже время вращятся вокруг его по оси следя за курсором? sasha.mihaylichenko4@mail.ru
|
|
| |
Xomafok | Дата: Четверг, 14.07.2016, 19:49 | Сообщение # 857 |
Известен под логином VS games
Группа: Постоянный
Сообщений: 932
Награды: 2
Репутация: 172
Статус: Offline
| DJsania, есть два варианта: 1. Поставить центр спрайта в той точке, которая является "осью" персонажа. 2. Код для крутящегося объекта в Step x=<персонаж>.x+lengthdir_x(<радиус окружности, по которой должен крутиться объект>,point_direction(<персонаж>.x,<персонаж>.y,mouse_x,mouse_y)) и то же самое еще раз, для оси y
|
|
| |
paviotelyuk575 | Дата: Суббота, 20.08.2016, 22:10 | Сообщение # 858 |
Новичок
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация: 0
Статус: Offline
| Xomafok, сделай объект obj_background с глубиной 200000 и в событие draw пропиши draw_background где: х - view_xwiew+0, y - view_yview+0.
Мои Игры: Реклама:
Сообщение отредактировал paviotelyuk575 - Суббота, 20.08.2016, 22:10 |
|
| |
Xomafok | Дата: Понедельник, 22.08.2016, 18:07 | Сообщение # 859 |
Известен под логином VS games
Группа: Постоянный
Сообщений: 932
Награды: 2
Репутация: 172
Статус: Offline
| paviotelyuk575, смысла нет, все равно будет отставание.
И зачем писать x=view_xview+0, если можно написать просто x=view_xview?
|
|
| |
paviotelyuk575 | Дата: Понедельник, 22.08.2016, 20:58 | Сообщение # 860 |
Новичок
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация: 0
Статус: Offline
| Цитата Xomafok ( ) зачем писать x=view_xview+0, если можно написать просто x=view_xview? незнаю, я уже как-то привык
Мои Игры: Реклама:
|
|
| |
никита | Дата: Вторник, 23.08.2016, 13:08 | Сообщение # 861 |
Мастер
Группа: Модераторы
Сообщений: 532
Награды: 0
Репутация: 51
Статус: Offline
| Цитата Xomafok ( ) Как сделать так, чтобы фон двигался вместе с игроком без зависаний? В GMS есть еще события Begin Draw и End Draw - попробуй засунуть код туда. Вряд ли получится, но все возможно - это же гм. А вообще я не совсем понимаю, в чем проблема. У меня вроде всегда все было хорошо.
ВАСЕЧКА - Попугай
Сообщение отредактировал никита - Вторник, 23.08.2016, 13:10 |
|
| |
никита | Дата: Суббота, 27.08.2016, 01:53 | Сообщение # 862 |
Мастер
Группа: Модераторы
Сообщений: 532
Награды: 0
Репутация: 51
Статус: Offline
| У меня есть несколько движущихся врагов (скорость примерно 10), а также быстро летящая маленькая пуля (скорость 40). Проблема такая: иногда событие столкновения не срабатывает, поэтому я прописал collision_line. Но он тоже не всегда срабатывал, поэтому я вписал if distance_to_object(enemy) < 4 then... Так вот дело в том, что и это не всегда помогает. Как можно сделать точную проверку столкновения даже при скорости пули под сотню? У меня есть только один вариант: создать моментальные пули (т.е. без самой пули, абстрактные). Это будет работать всегда, но это не совсем то, что мне нужно. Есть идеи?
ВАСЕЧКА - Попугай
|
|
| |
paviotelyuk575 | Дата: Суббота, 27.08.2016, 08:21 | Сообщение # 863 |
Новичок
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация: 0
Статус: Offline
| Может уменьшить скорость пули? События не всегда работают с большой скоростю
Мои Игры: Реклама:
Сообщение отредактировал paviotelyuk575 - Суббота, 27.08.2016, 08:22 |
|
| |
BRESS | Дата: Суббота, 27.08.2016, 10:06 | Сообщение # 864 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Цитата никита ( ) У меня есть несколько движущихся врагов (скорость примерно 10), а также быстро летящая маленькая пуля (скорость 40). Проблема такая: иногда событие столкновения не срабатывает, поэтому я прописал collision_line. Но он тоже не всегда срабатывал, поэтому я вписал if distance_to_object(enemy) < 4 then... Так вот дело в том, что и это не всегда помогает. Как можно сделать точную проверку столкновения даже при скорости пули под сотню? У меня есть только один вариант: создать моментальные пули (т.е. без самой пули, абстрактные). Это будет работать всегда, но это не совсем то, что мне нужно. Есть идеи? Пуля каждый шаг пролетает одинаковые отрезки длиной 40. Поэтому тебе на каждый шаг надо проверять наличие препятствия на следующем отрезке пути. Вот пример: http://fracton.rgho.st/7k7nJlxzT
Советую никогда не пользоваться встроенной проверкой столкновения и такими переменными, как hspeed, vspeed, speed. Дело в том, что GM проверяет наличие препятствий не на всём отрезке, проходимом объектом за шаг, а только в конечной точке. В примере я показал, как можно пофиксить эту проблему. Правда, в этом примере идет проверка наличия препятствий на пути исключительно одной точки. Если пуля больше, то надо делать проверку столкновения для всех крайних точек. По этой причине, собственно, я и писал небольшую .dll-ку себе.
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
никита | Дата: Суббота, 27.08.2016, 16:13 | Сообщение # 865 |
Мастер
Группа: Модераторы
Сообщений: 532
Награды: 0
Репутация: 51
Статус: Offline
| Спасибо, помогло. Я уже давно понял, что встроенная переменная скорости какая-то странная. Ах да, и я до сегодняшнего дня не понимал, что такое lengthdir и всегда писал передвижение (если без speed и direction) через тригонометрические функции.
ВАСЕЧКА - Попугай
|
|
| |
никита | Дата: Суббота, 27.08.2016, 20:43 | Сообщение # 866 |
Мастер
Группа: Модераторы
Сообщений: 532
Награды: 0
Репутация: 51
Статус: Offline
| Есть еще один вопрос. Я делаю игру на двух разных компах с разными операционными системами, настройками, видеокартами и т.д. Так вот, на этих двух компах совсем разная величина шрифта в игре. На том, что помощнее и с седьмой виндой, шрифт мелкий, на другом - чуть ли не в три раза больше. Как можно рисовать текст на экране так, чтобы он на всех системах имел одинаковый размер?
ВАСЕЧКА - Попугай
|
|
| |
BRESS | Дата: Суббота, 27.08.2016, 20:47 | Сообщение # 867 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Цитата никита ( ) Есть еще один вопрос. Я делаю игру на двух разных компах с разными операционными системами, настройками, видеокартами и т.д. Так вот, на этих двух компах совсем разная величина шрифта в игре. На том, что помощнее и с седьмой виндой, шрифт мелкий, на другом - чуть ли не в три раза больше. Как можно рисовать текст на экране так, чтобы он на всех системах имел одинаковый размер?
Онли спрайтами выкручиваться. В GMS шрифт находится в ресурсах игры. В GM8 - подгружается из Винды.
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
никита | Дата: Суббота, 27.08.2016, 20:57 | Сообщение # 868 |
Мастер
Группа: Модераторы
Сообщений: 532
Награды: 0
Репутация: 51
Статус: Offline
| Цитата BRESS ( ) Онли спрайтами выкручиваться. Это очень плохо. Помню, как я раньше не умел пользоваться отрисовкой и всегда использовал только спрайты. Это очень долго и неприятно. Придется потом на GMS импортить.
ВАСЕЧКА - Попугай
|
|
| |
никита | Дата: Воскресенье, 28.08.2016, 02:11 | Сообщение # 869 |
Мастер
Группа: Модераторы
Сообщений: 532
Награды: 0
Репутация: 51
Статус: Offline
| Я создаю игру по типу Tower Defence. Башни у меня всегда стреляют по тем врагам, которые идут первыми. Эту проверку я сделал через id экземпляров (т.е. чем меньше id, тем, по идее, ближе к выходу должен находиться враг). Но когда я добавил замораживающую башню - все пошло не так, как нужно. Поскольку некоторые враги останавливаются и отстают от других врагов, а их id не изменяется, башни "считают", что именно эти враги идут впереди всех. Помогите придумать алгоритм, как распознать врага, который идет впереди всех остальных независимо от его id. Кстати, враги перемещаются по заданному пути, а при заморозке изменяется path_speed.
ВАСЕЧКА - Попугай
|
|
| |
BRESS | Дата: Воскресенье, 28.08.2016, 08:13 | Сообщение # 870 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Цитата никита ( ) Это очень плохо. Помню, как я раньше не умел пользоваться отрисовкой и всегда использовал только спрайты. Это очень долго и неприятно. Придется потом на GMS импортить. GMS, скажем, тоже не блещет, хотя и является куда более продвинутым движком. Лучше запарься с отрисовкой спрайтами.
Цитата никита ( ) Я создаю игру по типу Tower Defence. Башни у меня всегда стреляют по тем врагам, которые идут первыми. Эту проверку я сделал через id экземпляров (т.е. чем меньше id, тем, по идее, ближе к выходу должен находиться враг). Но когда я добавил замораживающую башню - все пошло не так, как нужно. Поскольку некоторые враги останавливаются и отстают от других врагов, а их id не изменяется, башни "считают", что именно эти враги идут впереди всех. Помогите придумать алгоритм, как распознать врага, который идет впереди всех остальных независимо от его id. Кстати, враги перемещаются по заданному пути, а при заморозке изменяется path_speed. Я по длине пройденного пути выбирал бы цель. То есть добавил бы врагу счетчик, которые отсчитывал пройденный путь. А потом искал бы цель с наибольшим значением счетчика в радиусе атаки башни.
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |