我刚刚开始在flixel上使用box2d进行开发,我意识到box2d中对象旋转的枢轴点设置为对象的中心。
我在论坛上读到过,我发现SetAsBox可以改变对象的枢轴点,但是,我似乎无法让它围绕一个点旋转。
我想要实现的是旋转一个物体围绕一个点,像地球围绕太阳旋转。有人能帮我吗?真的非常感谢,为糟糕的英语感到抱歉
发布于 2013-10-20 15:08:47
您可以创建一个Sprite子类,它具有一个枢轴点,并使用转换矩阵来更新位置、缩放和旋转。源代码的一个很好的例子可以在这里找到:http://jamesvango.co.uk/blog/?p=136
另一种懒散的方式,就是在容器中添加雪碧,然后移动它,使它的中心与父母的左上角相关联。
containerSprite.addChild(child);
child.x = -child.width/2;
child.y = -child.height/2;
更新容器的位置和旋转
containerSprite.x = body.GetPosition().x * worldScale;
containerSprite.y = body.GetPosition().y * worldScale;
containerSprite.rotation = body.GetAngle() * 180 / Math.PI;
https://gamedev.stackexchange.com/questions/60615
复制相似问题