我正在尝试在cocos2d中学习box2d。我已经搜索了在线教程,而Ray Wenderlich似乎是最好的!我正以缓慢但稳定的速度学习!我目前正在开发一个应用程序,我将在屏幕中包含一个球,每当我触摸/点击这个球时,它就会像有人挥动足球一样移动。当触摸/敲击它时,我已经对球的向上运动(y轴)进行了编码。我遇到的问题是我无法找到一种方法来给球提供合适的角度,以便在x轴上旋转和移动。让我给你举个例子。想象一下,你正在挥动一个足球,你向上踢球,但球也有旋转力。我正在尝试开发旋转并在x轴部分移动。我想触摸球,在它的右下角“角落”,然后以一种逼真的方式旋转和移动。当球在空中时,触摸它在右下角“角落”意味着球将移动并旋转到屏幕的左侧。我希望我澄清一下情况!如果有人能帮我理解那种运动,我将不胜感激!如果您仍然不了解我的游戏概念,请搜索“parksoccer”,您将了解我正在努力开发的内容。
答案 0 :(得分:0)
我昨天才这样做。在这种情况下,你可以做的是当你触摸或点击一个屏幕时,你在ccTouchesBegan中取得那个点,然后通过身体上的GetPostion()方法找到球的位置。比你必须计算这两个点之间的角度,并找出球将从这两个点走向哪个方向。现在你有球将进入的角度和方向,因此通过ApplyLinearForce(b2vec2 forceangle,body-> GetPosition())对其应用linearForce。而已。
享受。