Пятница, 19.04.2024, 04:08
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Разработка игр » Вопросы по game maker » Общие вопросы по Game Maker 6/7/8/Studio (Тут задают простые вопросы, не требующие отдельной темы)
Общие вопросы по 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?

wacko незнаю, я уже как-то привык


Мои Игры:
Реклама:
 
никитаДата: Вторник, 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 есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
Форум » Разработка игр » Вопросы по game maker » Общие вопросы по Game Maker 6/7/8/Studio (Тут задают простые вопросы, не требующие отдельной темы)
Поиск: