【发布时间】:2016-01-25 02:40:23
【问题描述】:
在我的场景中,我有一个带有多个自定义精灵的矢量。当我点击其中一个时,我希望在场景中的另一个元素上触发一个动作,可以是向量中的另一个精灵,也可以是另一个节点。我一直在研究最好的方法来做到这一点,但我不太确定如何实现它。选项有:
在场景中添加一个触摸监听器,并使用
rect. containsPoint(point)验证它是否在精灵边界内被点击。在那之后,我必须得到被点击的精灵来做我想要的动作。对我来说,这样做似乎不太干净。如果两个精灵重叠,我必须验证精灵是在后面还是在前面,以便检索所需的精灵。我按照这个例子:Touch Event example在精灵的子类中添加一个触摸监听器(我的自定义精灵)。并在其中添加
onTouchBegan和onTouchEnded。但是这样,我不知道如何修改另一个精灵的属性,或者场景中的另一个元素(是否可以像 Objective-C 那样使用委托?)。我按照这个例子:Subclass Sprite Example
我的主要问题是我不太了解如何让一个节点与场景中的另一个节点交互。我看过很多教程,但在所有教程中,当你与一个节点交互时,它只会改变它的属性,而不是其他节点的属性。
提前致谢。
【问题讨论】:
-
你能发布一个完整的最小代码示例吗?
-
@Raptor 更新了我的问题。我的代码与提供的链接中的代码相同。
标签: c++ cocos2d-x-3.0