gpt4 book ai didi

cocos2d-iphone - 如何创建基于旋转的脉冲矢量(Cocos2d、Chipmunk、Spacemanager)

转载 作者:行者123 更新时间:2023-12-02 04:11:02 27 4
gpt4 key购买 nike

所以我试图用两个喷气背包来创造角色——其中任何一个都可以相互独立地发射,以产生偏离重心的脉冲(使用 Cocos2d、Chipmunk 和 SpaceManager)。

我的问题是,默认情况下,脉冲函数不考虑对象的当前旋转(即它指向的方向),因此无论方向如何,我使用的脉冲偏移和方向最终都是相同的字符指向。

我试图创建一个更逼真的模型 - 其中脉冲基于对象的现有旋转。我确定我可以以编程方式只维护一个向量变量,该变量保存角色指向的当前方向并使用它,但必须有一个更简单的答案。

我听说人们写了关于世界空间与 body 相对坐标的文章,以及默认情况下世界空间的冲动如何,而 body 相对可以解决我的问题。这是真的?如果是这样,您如何在这两个坐标系之间进行转换?

您能给我的任何帮助将不胜感激。

最佳答案

如果您将角色的当前方向(旋转的角度,逆时针方向)存储在 theta 中,你的脉冲向量在 ixiy ,那么世界空间向量将是

ix_world = ix * cos(theta) - iy * sin(theta);
iy_world = ix * sin(theta) + iy * cos(theta);

角度 theta cos 必须以弧度表示和 sin正常工作。如果您需要将度数转换为弧度,请将角度乘以 PI / 180.0 .

如果您想了解这个公式的来源,请阅读 here .

关于cocos2d-iphone - 如何创建基于旋转的脉冲矢量(Cocos2d、Chipmunk、Spacemanager),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5196171/

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