gpt4 book ai didi

ios - 使用 b2RevoluteJointDef 时如何设置旋转 anchor

转载 作者:行者123 更新时间:2023-11-29 11:06:06 30 4
gpt4 key购买 nike

演示程序是一次滑动屏幕。 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/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com