用javascript在路上行驶的汽车

时间:2012-04-03 10:05:32

标签: javascript

我是javascript的新手。我想用箭头在路径上移动一辆车。我用svg创建了路径并为箭头制作了功能。他们还可以。但我不知道车会如何识别路径?如果我应该检查每次移动的路径坐标,我的路径由不同的形状组成,我该如何控制它?我找到了一些例子,但它们使得移动成为动作而不是每次按键。请让我知道如何只在路上移动汽车..

1 个答案:

答案 0 :(得分:1)

好的,简答:元素无法识别对方。但是,你可以做的是通过获取所需元素的计算样式来模拟碰撞,然后计算页面上封面的“表面”。一些可以帮助你的功能是getComputedStyle()currentStyle,后者是IE等同于第一个。

基本上,您必须将自定义事件绑定到您的汽车 - 或者您需要的任何元素,每次按下一个键时都会调度(或在IE术语:触发)。该事件将不得不重新计算您的汽车/元素的风格。示例:按下向上键,因此y位置必须更改。在实际移动元素之前,您应该有一个包含该区域中所有实体元素位置的对象。扫描该元素以查看您的汽车元素移动到的新位置是否会导致重叠,如果是,则调度/触发碰撞事件,如果不移动汽车......

这不是一个非常简化的解释,但这些是您在每次按键时最有可能要完成的步骤。这就是为什么我建议阅读自定义事件,处理程序,事件绑定和调度。 如果你用纯JavaScript编写这个,我现在可以向你承诺,请放心,有一件事你不必阅读:为什么JavaScript开发人员非常讨厌IE,特别是如果你想让你的脚本运行IE9之前的IE版本......

我将以此结束:为此类内容添加书签的页面为javascriptkit。此外,您可能更喜欢使用jQuery之类的框架来解决您将遇到的跨浏览器问题。

祝你好运!