0

我正在尝试在 cocos2d 中学习 box2d。我搜索了在线教程,ray Wenderlich 的教程似乎是最好的!我正在以缓慢但稳定的速度学习!我目前正在开发一个应用程序,其中我将在屏幕中包含一个球,每次我触摸/点击这个球时,它都会像有人在轻弹足球一样移动。当触摸/轻敲它时,我已经为球的向上运动(y 轴)编写了代码。我遇到的问题是我找不到一种方法来给球适当的角度以便在 x 轴上旋转和移动。让我给你举个例子。想象一下,您正在轻弹一个足球,您将球向上踢,但球上有一个旋转力。我正在尝试开发跨 x 轴部分的旋转和移动。我想触摸球,在它的右下角 例如,以逼真的方式旋转和移动。当球在空中时触摸它的右下角,意味着球将移动并旋转到屏幕的左侧。我希望我澄清了情况!如果有人能帮助我理解这种运动,我将不胜感激!如果你还没有理解我的游戏概念,搜索“parksoccer”,你就会明白我想要开发的东西。

4

1 回答 1

0

我昨天才这样做。在这种情况下,您可以做的是当您触摸或点击屏幕时,您在 ccTouchesBegan 中获取该点,然后通过身体上的 GetPostion() 方法找到球的位置。比你必须计算这两个点之间的角度,并找出球将从这两个点朝哪个方向移动。现在你有了球的角度和方向,所以通过 ApplyLinearForce(b2vec2 forceangle, body->GetPosition()) 应用线性力。而已。

享受。

于 2013-04-09T05:48:18.703 回答