Четверг, 26 Декабря 2024, 03:43

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проверка столкновений
nekroo98Дата: Четверг, 26 Января 2017, 16:02 | Сообщение # 1
почетный гость
Сейчас нет на сайте
хаюшки, котятки.
есть такой код в событии столкновения с обьектом "team1_team2":
Код

speed=0;
if place_meeting(x,y,other)
{
x+=lengthdir_x(2,point_direction(x,y,other.x,other.y)-180)
y+=lengthdir_y(2,point_direction(x,y,other.x,other.y)-180)
}

так вот, "team1_team2" - родитель для множества других обьектов. И для одного из них, назовем его ХХХ необходимо отключить проверку столкновения, чтобы он проходил через всех как призрак.
Ясное дело, что отключив эту проверку в обьекте ХХХ, он не будет останавливаться, но будет расталкивать остальных по направлению от себя, ведь в других обьектах
стоит точно такая же проверка.
А надо чтоб не расталкивал, и родителя для обьектов менять нельзя, там многое завязано на это. Может посоветуете какую гениальную идею для костыля?


Сообщение отредактировал nekroo98 - Четверг, 26 Января 2017, 16:19
ReanДата: Четверг, 26 Января 2017, 19:01 | Сообщение # 2
участник
Сейчас нет на сайте
nekroo98, первое что пришло в голову: ввести флаг-переменную для team1_team2, которая будет указывать на "призрачность" объекта (если такой переменной ещё нет).
Ну и таким образом код события будет следующим:
Код

if (ghost || other.ghost)
    exit;

speed=0;
if place_meeting(x,y,other)
{
x+=lengthdir_x(2,point_direction(x,y,other.x,other.y)-180)
y+=lengthdir_y(2,point_direction(x,y,other.x,other.y)-180)
}


Сообщение отредактировал Rean - Четверг, 26 Января 2017, 19:01
nekroo98Дата: Пятница, 27 Января 2017, 08:50 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Спасибо.
Как всегда все оказалось простешим, но по запарке в голову не лезут очевидные решения :)
  • Страница 1 из 1
  • 1
Поиск:

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