我将尝试编写一个与我想要问的语言无关的描述(虽然我尝试这样做的语言是JavaScript和"屏幕"将引用我的HTML页面的正文)。假设我试图让一个物体像在旧的Windows屏幕保护程序中一样在屏幕周围反弹。我的编程直觉告诉我,我制作了一个图形对象,其中包含当前位置和方向的字段,并根据它是否具有" hit"来反转垂直或水平方向。屏幕的顶部或侧面。这样做的一种方法是对对象是否撞到墙做出条件声明。但这样做效率很低,因为在绝大多数情况下它会被评估为假。所以我想知道,如果对象存储为某个字段的某种数据结构的当前路径,那么它会自动知道它何时到达墙壁并且之后可以构建一条新路径?
换句话说,假设我有一些对象obj
,其字段为x
和y
,用于其尺寸为width
和{{1}的平面上的当前位置}(height
,obj.x == 0
表示它位于左上角,而obj.y == 0
和obj.x == width
表示它位于左下角) 。我应该有另一个字段obj.y == height
,它接受obj.theta
范围内的值,并对应于对象移动的角度。
现在,我想知道下一步该做什么。我是否应该有一个多维数组的字段,该数组对应于对象在点击之前将采用的0, 1, ..., 359
位置n
,(x_1,y_1)
,...,(x_2,y_2)
一堵墙?我是以正确的方式来做这件事的吗?
答案 0 :(得分:0)
对此的简短回答是利用诸如jQuery或Yahoo用户界面(YUI)之类的库,以便在动画中实现更高范围的运动和流动性。这也将帮助您编写更少的代码,而不是使用没有库的JavaScript从头开始编写所有内容。