2dx3.3鼠标拾取问题,高手来看看。

我想实现一个类似地球仪那个的功能,可以随意转动地球仪,地球仪放按钮,按钮可以点击,
按钮和地球仪是单独的3d模型,
我现在的做法是把按钮加到地球仪这个模型上,按钮是地球仪的子节点,然后地球仪饶着x轴旋转,这样就实现了旋转,

问题是按钮事件不会处理了,点击屏幕时我不知道点击的是哪个按钮。

我搜索了一下,大概的思路是用射线。我还没有搞定,因为模型旋转时,按钮的坐标没有变,它已经旋转到别的地方了,碰撞区域还是在初始化时的位置,
所有射线方法也没能完成,求高手帮忙。

还有一种思路是旋转摄像机,不过我试验的结果是饶着y周可以360度旋转没有问题,饶着x周时会有盲点(在90,270),而且还有模型方向问题,有时候按钮就跑到右边了。

z自己定一个。

你用个地球表示一下,这个截图根本看不明白意思。

我没有地球仪的模型,又上传了两个图片,你看看,就是上下滑动屏幕,然后那个圆柱体和它上面的按钮一起旋转。那个小人就代表按钮了,我没有模型。

再顶一次。

使用射线。虽然按钮位置没变,但是因为地球仪变了,按钮会随着父节点变化,所以世界坐标变了。

怎么样取得按钮的世界坐标啊,我没有找到相应的方法。

node上面有world**的函数。

谢谢了,找到一个worldToNodeTransform();方法,返回AffineTransform, 我还没看懂这个是什么作用的。