Среда, 17.04.2024, 02:03
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Другое » Корзина » Мои вопросы по платформеру
Мои вопросы по платформеру
lenalenikaДата: Суббота, 09.05.2015, 18:28 | Сообщение # 1
Начинающий игродел
Группа: Пользователи
Сообщений: 85
Награды: 0
Репутация: 1
Статус: Offline
Мне нужно чтобы определённое количество врагов наспавнилось в нужных но (разных) координатах комнаты, а как только их становится меньше через некоторое время появляются ещё.
Ну ещё обясню для каждого экземпляра врага 3-4 разных координаты


Сообщение отредактировал Volk - Понедельник, 01.02.2016, 14:56
 
BRESSДата: Суббота, 09.05.2015, 19:00 | Сообщение # 2
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Код
if !instance_exists(o_враг) {
repeat 5 {
instance_create(irandom(room_width),irandom(room_height),o_враг)
}
}


Будет спавнить врагов, как только в комнате все умрут. По хорошему бы, подсчитать надо количество оставшихся экземпляров объекта врага и исходя из него уже спавнить новых мобов... Но я поленился. Если нужно будет, дополню код.


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
lenalenikaДата: Суббота, 09.05.2015, 19:49 | Сообщение # 3
Начинающий игродел
Группа: Пользователи
Сообщений: 85
Награды: 0
Репутация: 1
Статус: Offline
я ещё вот так дополнил вроде всё норм работает
if place_free(x+35,y+35){
if place_free(x-35,y-35){
if !instance_exists(object4) {
repeat 20{
instance_create(irandom(room_width),irandom(room_height),object4)
}
} }}

Добавлено (09.05.2015, 19:49)
---------------------------------------------
и ещё вопрос как задать произвольное движение объектам  без путей
я пробовал  через place_free(x,y) чтобы проверялись столкновения но это мало работает ( игра вид сверху)

Сообщение отредактировал lenalenika - Суббота, 09.05.2015, 19:08
 
Gracio001Дата: Суббота, 09.05.2015, 20:21 | Сообщение # 4
*классный титул*
Группа: Администраторы
Сообщений: 1335
Награды: 2
Репутация: 187
Статус: Offline
lenalenika, поподробнее можно?

Фактически, можно создать несколько "целевых точек" (это могут быть указанные координаты/объекты) и передвигать объект к ним посредством move_towards_point; mp_potential_step. Но ничего точнее без объяснения или исходника сказать не могу.


ты никогда не станешь просто девочкой из песни.
 
lenalenikaДата: Суббота, 09.05.2015, 21:31 | Сообщение # 5
Начинающий игродел
Группа: Пользователи
Сообщений: 85
Награды: 0
Репутация: 1
Статус: Offline
Цитата Gracio001 ()
Фактически, можно создать несколько "целевых точек" (это могут быть указанные координаты/объекты) и передвигать объект к ним посредством move_towards_point; mp_potential_step. Но ничего точнее без объяснения или исходника сказать не могу.
Ну да как раз это надо только нужно привязать к экземпляру объекта так так у меня много врагов в разных местах комнаты и они должны двигаться по разному ( дай хоть кусочек кода) И ещё если игрок близко то враг гонится за ним, а если теряет то возвращается на путь.
Ну или проще сделать рандомное движение ( тоже хотелось бы узнать как)
например ищется определённое направление из нескольких (360) если впереди стена то ищется другое, через некоторое время (чтоб ни ехал бесконечно) направление обнуляется и ищется новое. Лучше так мне сделать ( но я не очень понимаю как сделать)


Сообщение отредактировал lenalenika - Суббота, 09.05.2015, 21:39
 
Gracio001Дата: Суббота, 09.05.2015, 21:39 | Сообщение # 6
*классный титул*
Группа: Администраторы
Сообщений: 1335
Награды: 2
Репутация: 187
Статус: Offline
Цитата lenalenika ()
Ну или проще сделать рандомное движение ( тоже хотелось бы узнать как)

Сделай таймер сначала, по его истечении пиши:

Код
direction=irandom(270)//Направление движения - случайное, в диапазоне от 0 до 270.


ты никогда не станешь просто девочкой из песни.
 
lenalenikaДата: Суббота, 09.05.2015, 22:14 | Сообщение # 7
Начинающий игродел
Группа: Пользователи
Сообщений: 85
Награды: 0
Репутация: 1
Статус: Offline
Цитата Gracio001 ()
Ну или проще сделать рандомное движение ( тоже хотелось бы узнать как)Сделай таймер сначала, по его истечении пиши:

Код
direction=irandom(270)//Направление движения - случайное, в диапазоне от 0 до 270.


а если стена?
 
sashaДата: Суббота, 09.05.2015, 23:45 | Сообщение # 8
Очень почетный титул
Группа: Проверенные
Сообщений: 216
Награды: 3
Репутация: 86
Статус: Offline
Про рандомный спавн в заданных точках:

Код
if instance_number(enemy_obj)<4//если врагов меньше четырёх
       {
       a=instance_find(spawn_obj,irandom(instance_number(spawn_obj)-1))//выбирается случайный спавнпоинт
       instance_create(a.x,a.y,enemy_obj)//создаётся враг, на выбранном спавнпоинте
       }

Собственно, раскидываешь по карте спавнпоинты("целевые точки", как их назвал Грацио), и в степе каково-нибуть CTRL_obj пишеш код, который указал выше, где
enemy_obj - враг
spawn_obj - спавнпоинт - невидимый объект. Можно без кода


Сообщение отредактировал sasha - Суббота, 09.05.2015, 23:48
 
BRESSДата: Воскресенье, 10.05.2015, 06:21 | Сообщение # 9
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Точно. instance_number же есть. А я вчера сидел - вспоминал функцию для подсчета объектов. Уж решил не позориться, придумывая что-нибудь несуразное, а через instance_exists все сделать :D

А рандомное движение можно реализовать через встроенную возможность поиска путей. Просто задаешь рандомную точку и объект туда движется, огибая препятствия. Опять же, не помню, как делается, но могу если что освежить знания при помощи справки :)


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
lenalenikaДата: Воскресенье, 10.05.2015, 13:21 | Сообщение # 10
Начинающий игродел
Группа: Пользователи
Сообщений: 85
Награды: 0
Репутация: 1
Статус: Offline
Цитата BRESS ()
А рандомное движение можно реализовать через встроенную возможность поиска путей. Просто задаешь рандомную точку и объект туда движется, огибая препятствия. Опять же, не помню, как делается, но могу если что освежить знания при помощи справки :)
может как то так
mp_potential_step(random(x),random(y),3,0)
 
BRESSДата: Воскресенье, 10.05.2015, 14:50 | Сообщение # 11
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Цитата lenalenika ()
mp_potential_step(random(x),random(y),3,0)
Упрется в ближайшую стенку, если коридоры узкие :D


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
lenalenikaДата: Пятница, 15.05.2015, 16:10 | Сообщение # 12
Начинающий игродел
Группа: Пользователи
Сообщений: 85
Награды: 0
Репутация: 1
Статус: Offline
Возник вопрос как соединить части игрока и придать им физику? Например  для каждой части задать хп и когда хп заканчивается часть отваливается.

Сообщение отредактировал lenalenika - Пятница, 15.05.2015, 16:10
 
Форум » Другое » Корзина » Мои вопросы по платформеру
  • Страница 1 из 1
  • 1
Поиск: