Понедельник, 11 Ноября 2024, 06:25

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Посчитать кол-во объектов находящиеся на другом объекте
Erop47Дата: Четверг, 02 Августа 2018, 15:20 | Сообщение # 1
частый гость
Сейчас нет на сайте
Здравствуйте, есть такой вопрос: нужно как-то посчитать количество объектов (условно "человечки") которые стоят на другом объекте (условно "дом").
Думал как-либо использовать object_exists(), но он считает все объекты в комнате.
Нужно как-то ограничить область либо использовать другую функцию, но таковых я не знаю.
Помогите, пожалуйста :'(


I love old games. Old games love me!
SkrininshotДата: Четверг, 02 Августа 2018, 15:29 | Сообщение # 2
частый гость
Сейчас нет на сайте
попробуй создать глобальную переменную в которую будешь добавлять по единице с человечка, если у него имеется коллизия с домом
Код

if place_meeting(x,y,Дом)
{
if a = 1
{
global.Col+=1
a = 0
}
}
else
{
if a = 0
{
global.Col-=1
a = 1
}
}



What is love
Baby don't hurt me
Don't hurt me
No more...
Erop47Дата: Четверг, 02 Августа 2018, 15:35 | Сообщение # 3
частый гость
Сейчас нет на сайте
Цитата Skrininshot ()
попробуй создать глобальную переменную в которую будешь добавлять по единице с человечка, если у него имеется коллизия с домом

Глобалка не подходит, таких домов может быть несколько

Добавлено (02 Августа 2018, 15:39)
---------------------------------------------
вот в gml один объект может взять переменную другого объекта при коллизии, а изменить чужую локальную нельзя?


I love old games. Old games love me!
AlexanderBekkerДата: Четверг, 02 Августа 2018, 15:41 | Сообщение # 4
BekkerDev Studio
Сейчас нет на сайте
В Create объекту дома:
Код
units = 0;

В Begin Step:
Код
units = 0;

В событии столкновения с человечком:
Код
units++;

Этот приём должен работать. Таким образом каждый дом будет «знать», сколько людей в нём находится.


Разработчик, композитор и издатель инди-игр в Steam.
Редактор карт: BekkerDev Level Editor 4
Страница разработчика в Steam
Паблик ВК: BekkerDev Studio
Erop47Дата: Четверг, 02 Августа 2018, 16:05 | Сообщение # 5
частый гость
Сейчас нет на сайте
Цитата AlexanderBekker ()
Этот приём должен работать. Таким образом каждый дом будет «знать», сколько людей в нём находится.

неа, не работает. странно, но вообще не меняет значение переменной


I love old games. Old games love me!
Quad69Дата: Пятница, 03 Августа 2018, 00:17 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Код
var count = 0;
with(человечки) if(point_in_rectangle(x, y, other.bbox_left, other.bbox_top, other.bbox_right, other.bbox_bottom)) count++;
  • Страница 1 из 1
  • 1
Поиск:

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