Это не «плохая» форма, но в зависимости от контекста могут быть другие способы приблизиться к ней.
Особенно, если у вас несколько детей с одним родителем.
Я большой поклонник статических методов и классов Manager, но есть целая группа людей, которые в равной степени против этого или хуже, чем вызовы метода child-> parent.
Важно отметить, что "parent" - это свойство, которое зависит от addChild () и списка отображения.
Возможно, я ошибаюсь, но, насколько я понимаю, если вы создаете объект в коде и он никогда не добавляется в список отображения в его жизненном цикле, то родительский элемент будет нулевым. Так что это представляет проблемы.
Еще одна странность заключается в том, что если вы добавляете дочерний элемент в список отображения, а затем УДАЛЯЕТЕ его, родительский элемент все равно устанавливается на последний объект, к которому он был добавлен, поэтому он может быть в состоянии предпринять действия против объекта, который технически больше не ребенок.
Вот почему я обычно формулирую эту логику следующим образом
if(Type(this.parent).contains(this))
{
//do stuff
}
Contains будет возвращать только значение true, если объект находится в списке отображения.
В некоторых ситуациях логика этого типа может иметь значение, если вы зацикливаетесь на массиве объектов, где некоторые объекты могут быть видны, а другие нет. В худшем случае это сэкономит вам некоторые циклы процессора.