作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
演示程序是一次滑动屏幕。 body (在我的例子中,它是一门蓝色的大炮)将相应地旋转。所以我给炮体和地体定义了一个旋转关节,但是好像 anchor 设置不正确,导致无法用鼠标关节旋转 body 。 “国际惯例”,我接下来会上传相关的代码/屏幕。请看看你是否能帮助我。
图1:定义相关体,旋转关节
图2:触摸回调函数:创建鼠标关节
图3:模拟器画面(从模拟器上看,旋转 anchor 似乎不正确)
由于缺乏“声誉”,我无法在此处上传图片或发布 img 链接,我已在自己的评论中添加了 img 链接。
最佳答案
首先,在创建旋转关节时,您应该使用 Initialize,如下所示:
cannonJointDef.Initialize(groundBody, cannonBody, cannonBody->GetPosition());
最后一个参数是世界坐标中的 anchor 。在这种情况下,它将成为大炮的中心。
然后,尝试在没有 mouseJoint 的情况下旋转大炮,只需直接设置旋转即可:
CGPoint touchVec = ccpSub(touchPos, _cannon.position);
float angle = ccpToAngle(touchVec) - M_PI_2;
cannonBody->SetTransform(cannonBody->GetPosition(), angle);
关于ios - 使用 b2RevoluteJointDef 时如何设置旋转 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13550870/
我已经开始深入研究 AndEngine 的更复杂用途,因为我开始掌握它,或者我是这么想的。我遇到了一个我似乎无法弄清楚的 NPE,因此我将不胜感激任何帮助。 下面的类代表一个粗糙的布娃娃/火柴人,类本
我是一名优秀的程序员,十分优秀!