请问,如何获得精灵的实际(最终)大小和坐标

  • 本帖最后由 alex_itxz 于 2012-5-2 10:25 编辑 *

请问如何获得Sprite 或者 Layer 在经过自己、父亲(或者父亲的父亲,诸如此类)的缩放和移动后的在GL坐标系或者屏幕坐标系上的实际大小和位置啊(在屏幕上展现出来的“最终”大小和位置)??

CCRect boundingBoxInPixels (void)
returns a “local” axis aligned bounding box of the node in pixels.
用这个试试,不过我之前貌似用过这个不行:L

我试了下,直接调用 boundingBox 是可以的。这个就是缩放后的大小了。
至于坐标以及大小的其他问题,推荐你看看这篇文章
http://www.cnblogs.com/cppguru/archive/2011/05/10/2041835.html

谢谢啦~~~ 这个例子我看过了。。可是还不能得到答案

继续发问,希望能求得答案~

js sprite.getBody.p
但是这个 在JSB报错

位置涉及到节点坐标系和世界坐标系,你要获取的话可以转换一下,通过getPosition()获取的是节点坐标系,使用convertToWorld这个函数记得不清楚了,你查一下可以转化的。坐标系这块很重要,项目的时候经常用到,一定要搞清楚了。

getContentSize().width
getContentSize().height
getPosition().x
getPosition().y

未发现已有的方法可以实现。不过还是可以计算出来的。首先Rect可以理解为有两个点组成,一个是origin即左下角的点,再计算出右上角的点,Rect就可以用这两个点来表示了。将这两个点都转换为世界坐标,再重新生成rect,新的rect就是相对于世界的大小了。