如题,精灵上添加了一个点,缩放后坐标已经不是初始那个位置了,那缩放后的当前位置如何获得?没有找到相应的API啊,谢谢
你是要获得那个坐标系下的坐标?Node有nodeToParentTransform
、nodeToWorldTransform
等函数可以获取到变换矩阵。
只要这个精灵的坐标系的就可以
加了一点指的是精灵加了一个child?如果是的话,就可以通过nodeToParentTransform这个函数了
是通过addChild添加的,我试了您说的API,对比的结果是这样的:
cc.director.getRunningScene().children[1].children[0].children[i].x
450
cc.director.getRunningScene().children[1].children[0].children[i].y
1700
cc.director.getRunningScene().children[1].children[0].children[i].nodeToParentTransform()
Object {a: 1, b: 0, c: 0, d: 1, tx: 435…}a: 1b: 0c: 0d: 1tx: 435ty: 1685__proto__: Object
似乎450 1700是初始的位置,使用您说的API获得的,x,y似乎是boundingbox的原点,实际还是初始那个坐标啊,我用的不对么,谢谢
我是放大了精灵以后试的以上结果,谢谢
精灵初始:x,y,width,height
放大比例:scale
放大后的精灵锚点:
x+(scale-1)*width/2
y+(scale-1)*height/2
精灵上的点根据精灵的位置变化计算
试试这个方式可以么
坐标似乎不太准确,有偏差,我在仔细试试,非常感谢,还有楼上的前辈非常感谢