![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动画编程原理
亨利一世
除了编程技巧和程序设计能力,解决问题的稳准狠是衡量一个程序员是否优秀的重要因素之一,也是资深技术人员真正的价值所在。
展开
-
动画教程(二)
速度向量: 简单定义是:某个方向上的速度。向量没有起点,向量不能说明哪里是起点哪里是终点,它仅仅表示出了物体移动的速度与方向。 鼠标跟随:先计算出箭头与鼠标的x距离和y距离,并使用Math.artan2计算他们的夹角。然后使用这个角度使箭头旋转, 再使用Math.cos和Math.sin与速度相乘计算出x,y的速度向量,最后将他们加到箭头的坐标上。 加速度: 一个增加原创 2013-07-30 10:57:16 · 591 阅读 · 0 评论 -
动画教程(四)
交互动画,移动物体 鼠标 一次点击事件,可以分为两个部分,鼠标键按下时的事件及鼠标弹上来的事件。即:按下,拖拽,释放。 投掷 点击一个对象时开始对它进行拖拽,再沿某个方向移动一段距离,松开鼠标后,物体将获得这个速度向量,沿着拖拽方向继续移动。 旧的位置+速度向量=新的位置 所以,速度向量=新的位置-旧的位置。即,具体到每帧,结果即为速度向量。 使用缓动运动(Eas原创 2014-01-03 10:59:35 · 502 阅读 · 0 评论 -
动画教程(三)
环境边界 当物体离开边界,我们能做的就是忘记它,或者将它移动回来,或跟随它。 重置对象 超出边界范围的对象进行重置。实际上就是重新配置,重新设置属性。 屏幕环绕 概念很简单:一个对象超出了屏幕的左边界,就让它在屏幕右边出现;在右边出界,则将它置到左边;上面出界就回到下面。这个思想与重置对象的概念非常相似,只是位置有所不同。如果使用屏幕环绕技术,那么物体超出屏幕边界的距离不原创 2013-11-15 15:00:09 · 683 阅读 · 0 评论 -
动画教程(一)
三角学————旋转 dx = mouseX - sprite.x; dy = mouseY - sprite.y; sprite.rotation = Math.atan2(dy, dx) * 180 / Math.PI; 设计一个箭头,指向鼠标的方向。构造一个三角形,加入鼠标与箭头的坐标。鼠标的位置用mouseX和mouseY描述, 箭头的位置用x,y描述。使他们的值相减,就得到了原创 2013-07-26 15:52:11 · 490 阅读 · 0 评论 -
动画教程(五)
弹性运动 一维坐标上的弹性运动 需要一个变量来保存弹性的数值,可以认为这个数同距离的比例,较大的弹性值会使弹性运动显得十分僵硬。较小的弹性值会使弹性运动像一条松 紧带。通常选用 0.1 作为弹性值(spring)。 加速度与距离成正比,也就是距离乘以spring的值。 把加速度加到速度向量中。 vx += ax; ball.x += vx; 每次的加速度随着物体越接近目标,变得原创 2014-01-06 10:57:53 · 478 阅读 · 0 评论 -
动画教程(六)
碰撞检测 既是物体之间的交互运动。这需要确定物体间何时发生了碰撞。 原理:两个物体或几个物体是否有在同一时间内某个部分处在了同一位置上。 拿来一个物体,绕着它画一个矩形。用矩形包围物体就是我们所熟知的矩形边界 确认使两个物体分开的最小距离,再看看当前距离,比较两者的大小。 基本的多物体碰撞检测方法 var numObjects:uint = 10; for (va原创 2014-01-09 17:19:42 · 514 阅读 · 0 评论 -
动画教程(七)完结
正向运动学 正向运动学(Forward kinematics,缩写:FK)中的运动是以系统的固定端为起始,在自由端进行运动。 反向运动学(Inverse kinematics,缩写:IK)则是向反的:运动以自由端为起始,回退到固定端,如果有的话。 通常情况下,下肢在行走时都看作是正向运动学。大腿的移动带动小腿的运动,小腿的移动带动脚的运动,最终让脚产生运动。 脚的运动不会决定其它部原创 2014-01-23 09:44:35 · 521 阅读 · 0 评论