2011-06-03 81 views
0

我想知道是否有人可以帮助我开始或指出正确的方向。我期待使用核心动画制作一个简单的驾驶游戏。我是一个很不错的obj-c程序员,但是当涉及到运动和数学时,我就失败了。我想要一个方向盘来控制汽车的方向,并且一个前进/后退控制加速减速。如果任何人都可以帮助我的方向盘代码,我将不胜感激!所以基本上我需要帮助制作一个可以用一个手指拖动的圆圈,我将它的变换值传递给我的汽车视图(我想我可以处理加速/ deccel代码)任何接受者? :)另外,我有2邀请dribbble.com放弃,任何人谁可以帮助我,身份证很高兴给出一个。2D游戏控制问题 - 旋转和移动


grady,totowtwo,谢谢你的回答,我很感激。我已经到了可以旋转“方向盘”的地步,它会旋转我的“汽车”,我也让它向前和向后移动。只需要移动到更现实的位置......这是一个到xCode项目的链接http://www.cl.ly/7VBU,它保持非常简单,所以如果有人看起来它 - 它将很容易更改/添加代码。所以,如果任何人想看看它,并帮助我使运动更真实,我会永远在你的债务! :) 谢谢!

+0

你能分享你的方向盘代码吗? – dev6546 2012-06-30 02:09:17

回答

0

一个起点是要认识到一个典型的汽车方向盘有900度的运动,无论你想要的手指轮是否是一个设计决定。车轮最大旋转时,车轮通常指向+ 30度左右。您可以使用从方向盘角度到车轮角度的简单线性转换。

从那里,汽车三角洲角度是轮子角度乘以前向距离的函数。当汽车向前行驶时,您可以想象当直向前指向时,无限半径的圆的切线以及方向盘完全倾斜时半径较小(约4倍汽车长度)的圆。

当然,随意丢弃典型车辆的设计规则。为您的用户提供有趣的动力火车,比如完整的机器人!

0

我不是专家,但你或许可以这样做:

CGPoint centerOfWheel; 
CGPoint currentTouchPoint; 
float radians = atan2(currentTouchPoint.x-centerOfWheel.x, currentTouchPoint.y-centerOfWheel.y); 

然后将转换应用于车轮......你当然会想使转换上的观点累计距离过远,因为继续转动车轮将导致持续转弯。

也让它感觉更真实,反应更少,您可能希望使用较小的转弯度,以便将车轮转入一圈不会导致车辆整圈转弯。你将不得不玩耍。