Суббота, 20 Апреля 2024, 04:39

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Собиратель энергии (сабж)
Собиратель энергии
ЗондерКоммандерДата: Вторник, 11 Декабря 2012, 04:43 | Сообщение # 1
был не раз
Сейчас нет на сайте
Есть объект собиратель энергии. Вокруг него в радиусе 100 метров есть эта самая энергия, много разбросанных объектов. Мне нужно в коде Собирателя энергии сделать так, чтобы все эти объекты, которые находятся ближе, чем 50 метров, летели к собирателю. Как сделать, чтобы летели, я знаю, конечно. Но как через step собирателя энергии обратиться ко всем объектам в нужно радиусе? distance_to_point или object выдаст только один объект, разве нет?

Мне нужен именно вариант обращения ИЗ собирателя энергии. То есть, можно прописать код в самих источниках энергии, тогда они будут притягиваться к собирателю, это очень просто. Прошу помочь: как сделать проверку на все объекты в радиусе 50 метров? как заставить, при прохождении объекта через проверку, лететь, т.е., обращение именно к конкретному объекту, ведь distance_to_object не возвращает id объекта.


Сообщение отредактировал ЗондерКоммандер - Вторник, 11 Декабря 2012, 04:46
ShadowZiДата: Вторник, 11 Декабря 2012, 09:00 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Самый простой способ который вижу, если "энергии" относительно не много (хотя на флеше когда делал свои столкновения подходило для большого числа объектов), если засунуть и засовывать объекты энергии в массив а потом каждый степ по нему циклически проходится для каждого определяя расстояние. ГМЛ вроде как должен такое позволить
ЗондерКоммандерДата: Вторник, 11 Декабря 2012, 20:44 | Сообщение # 3
был не раз
Сейчас нет на сайте
Нет, через массив не устраивает, да, так можно сделать. В гм есть функции instance_nearest, instance_furthest, вот я и думаю, можно ли выбрать все инстансы, проходящие по условию.

Добавлено (11.12.2012, 20:44)
---------------------------------------------
в собирателе энергии пишем
with energie
{
если дистанция до собирателя < 50, то действие
}
дистанция до собирателя исчисляется через x.y комка энергии и other.x, other.y, подразумевая под ними собиратель энергии

В общем, глобально проблема решается именно так smile

LgunchikДата: Среда, 12 Декабря 2012, 19:32 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Во-во, можно просто в самой энергии прописать...если дистанция до собирателя < 50 то лететь к нему...я так уже делал в своей игре...могу подкинуть кода...у меня было так: чем дальше энергия...тем медленнее она летит...такой эффект магнита что-ли...

>
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Собиратель энергии (сабж)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг