В моей сцене у меня есть вектор с несколькими пользовательскими спрайтами. Когда я нажимаю на один из них, я хочу, чтобы действие было запущено на другом элементе на сцене, может быть другим спрайтом в векторе или другом узле. Я изучал лучший способ сделать это, но я не совсем уверен, как его реализовать. Варианты:Touch Event на Sprite с Cocos2d-x 3.x?
Добавить сенсорную слушателя на сцену, и проверить, если он был использован в рамках спрайта с
rect. containsPoint(point)
. И после этого, я должен получить спрайт, который был использован, чтобы выполнить действие, которое я хочу. Для меня это не кажется очень чистым, чтобы сделать это таким образом. И если два спрайта перекрываются, я должен проверить, находится ли спрайт позади или спереди, чтобы получить желаемый спрайт. Я следовал этому примеру: Touch Event exampleДобавить прослушиватель прикосновений в подкласс спрайта (мой собственный спрайт). И добавьте
onTouchBegan
иonTouchEnded
внутри него. Но таким образом я не знаю, как изменить атрибут другого спрайта или другого элемента в сцене (возможно ли использовать такие делегаты, как Objective-C?). Я последовал этому примеру: Subclass Sprite Example
Моя главная проблема в том, что я не очень хорошо понимаю, как сделать узел взаимодействовать с другим узлом в сцене. Я видел много учебников, но во всех них, когда вы взаимодействуете с узлом, он изменяет только атрибуты, а не атрибуты других узлов.
Заранее спасибо.
Вы можете разместить полный минимальный пример кодов? – Raptor
@Raptor Обновлен мой вопрос. У меня такой же код, как и в приведенных ссылках. –