骨骼动画问题 获取某根骨骼位置

用的cocos2d-x3.1.1 lua
能获取到对应骨骼动画 里面的那根骨骼 但是怎样才能获取到那根骨骼 相对骨骼动画的 位置呢?

local txbone = hero:getBone(“tx”) --> 这边能正常获取骨骼动画上面 准备做特效挂点的那根骨骼
print(txbone:getPositionX()) --> 输出position x y 都是0
print(txbone.x) --> 输出nil
local pos_tx = cc.p(txbone.x, txbone.y)

我看bone.h源文件 里面 bone是有 x,y属性的 但是为什么不能用? getposition 获取的为什么都是 0
想知道到底怎样才能获得 骨骼动画中某根骨骼的位置呢 谢谢!

没有人知道么? 求救命 :6:

用bone->getWorldInfo()->x 和 bone->getWorldInfo()->y 获取骨骼在世界中的坐标 :14::14:
PS:骨骼的其他属性也在getWorldInfo()中

恩 我用的是 lua
local txbone = hero:getBone(“weapon”) 可以正常获取骨骼
print(txbone:getWorldInfo().x)

使用获取出来的却是 nil 知道怎么解决么?

没用过lua的, :14:

楼主,问题解决没?

似乎lua下3.2才能获取WorldInfo,之前的没导出。

你可以看下getWorldInfo的lua导出函数把他补上。

自己补上了,凑合用了

我看到导出了,
local node = self.hero:getBone(“eff2”)
dump(node:getWorldInfo())
print(“eff2”,node:getWorldInfo().x,node:getWorldInfo().y)
看到的日志是
Cocos2d: - “” = userdata: 0x170e9ee0
Cocos2d: eff2 nil nil
lua中这个userdata 怎能取出来x,y的之呢?我是用的quick 2.2.5

quick 2.2.5 没有导出 CCBaseData 的x,y 属性。
找到 ./quick-cocos2d-x/lib/luabinding/CocoStudio/CCDatas.tolua 文件
在最后补充该属性
class CCBaseData : public CCObject
{
………………
float x;
float y;
};