2011-08-18 127 views
12

我正在玩HTML5 canvas,对于第一个实验我决定尝试用基本的用户输入制作一个简单的汽车动画。我认为我是基本输入和移动方式中的大部分,但我只是想看看我是否可以进一步。用HTML5 canvas制作简单的汽车游戏

演示:http://jsfiddle.net/mpxML/20/ (使用箭头键)

我有一个图像加载,你还可以看到一个黑色的正方形,其移动,那就是翻译点,或当汽车从转向。我想以某种方式创造出漂移效果,这可以在更高的速度下实现等等。它也可以在不移动时转动,这是不对的。

无论如何,我只是不知道我需要什么逻辑让汽车感觉更半真实。

谢谢

+3

否提供有用的评论,但只想说好的工作!我开车离开车架,现在我失去了它哈哈! –

+0

嘿,谢谢哈哈。是的,我需要得到一些真正的界限! – Henryz

回答

6

要解决,你必须做一些转弯像这样:

car.angle = car.angle - (car.handeling * car.speed/car.topSpeed); 

这将转向防止当速度为0,将解决反向转动

要获得漂移的影响,你应该向前推进了汽车的旋转中心并让车在它的自我旋转没有真正转动

+0

这真的很好!现在,当我不动的时候,我无法转身,当我移动的时候,我可以得到一个转弯的圈子。但是当我快速行驶时,我希望处理效率更低。我正在考虑做(处理/速度)。我希望我能更好地解决这个问题..问题在于,一旦你反向操作,处理混乱等等。>< – Henryz

+0

如果你打算开发一个固定的赛道(没有平移),那么漂移就是真的很难。几年前,我已经搞混了2D赛车,我无法很好地管理漂移。要么你很难注意到它,要么是非常微妙的,要么是非常难以处理的。 – JSantos

4

伟大的小演示,爱它!我不开车,这是我的想法。我建议尝试,你不去现实主义 - 记住你是一个游戏,你想要去的乐趣:)

倒车

我会做反向正常工作,当你扭转它不会转向我期望的传统汽车运动的方向。

漂流时转弯的速度和/角是指在一定量

这将被触发。一旦这些条件得到满足,你可以从方向这样做防止任何更多的转折点(通过锁定当前方向)和角度的车〜30°,直到加快关键是未按

谈到

我我不是一个司机,但是我认为,当你的速度较慢时,你的转弯角度会更小,或许可以为此创造一个简单的公式,或者速度和转弯量之间的某种关系。

无耻插头

我透露我的Scirra.com工作,我们有一些软件Construct 2Download),这是一个Windows的游戏制作程序对HTML5的游戏,它可能是值得看看你(取决于你的目标)!它是可扩展的JavaScript,所以你可以写你自己的运动行为和利用他人人民,使赛车游戏是一个很大的视觉,更容易(在我们的意见任何方式!)

+0

嘿,感谢您的反馈:)关于漂流的好评,我会努力工作的!我正在转动圈子,我也会检查出Construct 2 :) – Henryz