Другая причина, по которой это может не сработать, заключается в том, что вы пытаетесь использовать свойство parent
непосредственно перед добавлением дочернего элемента в список отображения родителя.
Sprite(parent).selectedSquare = this;
parent.addChild(this);
Эта вторая строка меня беспокоит. В этом коде текущий объект (this
) должен быть уже добавлен в качестве дочернего к родительскому объекту (Main
), чтобы первая строка работала правильно. Таким образом, либо текущий объект еще не является дочерним по отношению к родительскому объекту, в этом случае вам необходимо пересмотреть код.
Или вторая строка не нужна (потому что this
уже является потомком Main
, поэтому this.parent
, или просто parent
, работает как положено).
Я считаю, что ваш код, вероятно, настроен хорошо. Вам просто не нужна эта вторая строка, так как она полностью избыточна.
Надеюсь, это поможет! Дайте мне знать, если вы хотите, чтобы я что-то прояснил.
(Это, конечно, при условии, что вы еще не знали всего этого и не делали какую-то безумную, мистическую, странную магию с избыточным вызовом addChild
. Вы никогда не сможете сказать с волшебниками!)