【问题标题】:How to retrieve absolute position of child sprite (that is child of a parent sprite) in Cocos2d如何在 Cocos2d 中检索子精灵(即父精灵的子精灵)的绝对位置
【发布时间】:2011-11-23 18:16:06
【问题描述】:

我有两个父精灵。

每个父母都有两个孩子精灵。

虽然两个父精灵的位置不同,但似乎两个父精灵的子精灵的位置是相同的。

我的意思是,虽然孩子们依附在父母身上,并且在视觉上似乎随着父母的移动而移动,但“位置”属性的点值保持不变。

当您在屏幕上移动父母时,您可以看到孩子也在移动。位置确实发生了变化。

但孩子的“位置”属性始终保持不变。

我做错了什么?如何获取子精灵的绝对位置?

【问题讨论】:

    标签: cocos2d-iphone


    【解决方案1】:

    要获得一个孩子相对于屏幕(或更准确地说是场景)的绝对位置,请使用:

    CGPoint absolutePosition = [childSprite convertToWorldSpace:childSprite.position];
    

    我不认为你做错了什么。孩子的位置是相对于其父母的,因此孩子的位置没有改变是有道理的。

    【讨论】:

    • 有趣的是,您将如何检测与精灵孩子的碰撞?
    • @AlexanderN 你能用 CGRectIntersectsRect(a, b) 吗?我认为它会很快变得棘手,尽管使用非矩形内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    相关资源
    最近更新 更多