看了《ActionScript3.0高级动画教程》一书,用类映射的方式做了一个小东西,方便学习,经过几天发现了一些as3代码动画的小技巧,下面我们一起分享一下。
所有的运动都借助帧事件或定时器来做,可以只使用一个帧事件或一个定时器来完成所有运动的监听和运算,节省开销。
运动是变化,它的普遍做法是:第一初始化运动条件,二根据运动的公式或模型运算,三更新物体的坐标或其他属性。核心的操作都在第二步里面。书中贯穿了很多物理概念,和基础的运动联系紧密的就数向量这个概念了。
向量这里不做详细介绍,简单的说就是方向加大小。向量在这里面充当的就是变化量的这个部分,对变化量做相应的操作就能得到我们想要的代码了,剩下的就是第三步,把处理好的变化量更新到操作对象的属性上,达到运动的最终效果。
接下来看看一些基础的运动:匀速、变速、摩擦力、缓动、弹性。这里引入vx、vy,它就是运动里面要用到的变化量。
匀速、变速可以归为一类运动,他们都可以通过简单的加减操作,使vx、vy变化,然后更新x、y坐标上:
vx += 5;
vy += 5;
x += vx;
y += vy;
匀速运动就是 vx+=0 (y坐标类似)的运动。也可以认为5就是加速度a。
摩擦力运动,是引入一个降低vx、vy值的量,即物理的摩擦系数:
vx *= f;
vy *= f;
x += vx;
y += vy;
f是小于1的值,负责不断减小变化量的值,这样当变化量更新到坐标值上的时候,会越来越小,最终停下。
缓动、弹性可以归为另一类运动,他们的运算都伴随着成比例的变化因素。
dx = targetX - object.x;
vx = dx * easing;
x += vx;
摩擦力直接修改变化量,缓动则是先成比例的修改距离值,再把距离作为变化量更新到坐标上,这样就得到了一个每次都变化总距离的几分之几的缓动效果。
dx = targetX - object.x;
ax = dx * spring;
vx += ax;
x += vx;
相比缓动,弹性运动又多了一步操作,把处理后的距离,这个值是修改变化量的,修改后的变化量不断的更新给x坐标,只要ax不为零,这种更新会一直运行,直到ax最终把vx抵消让物体停下来,处在这个过程里物体就在目的点附近来回波动了,形成最终的弹性效果。
分享到:
相关推荐
在“FlipPage-as3”项目中,AS3被用来创建动态、交互式的翻页动画,以模拟纸质书籍翻页时的物理运动。这种效果的实现主要依赖于以下几方面的技术: 1. **图形渲染**:AS3提供强大的图形绘制能力,通过`Shape`、`...
1. **粒子效果的基本原理**:了解粒子系统的构成及其运动规律。 2. **AS3.0绘图API的应用**:掌握如何利用AS3.0的绘图功能绘制和控制粒子。 3. **类和对象的创建与使用**:学习如何定义和实例化粒子类,以及如何给...
在本文中,我们将深入探讨如何使用ActionScript 3 (AS3) 创建一个鼠标跟随效果,具体是关于"鼠标跟随特效(喷溅)"的代码改写。ActionScript 3是Adobe Flash Professional和Flex SDK中用于创建动态内容的主要编程...
AS3中的Tween库如GreenSock Animation Platform (GSAP)可以实现平滑的动画效果,而物理引擎如Box2D AS3则能处理物体碰撞和运动模拟。此外,还有声音管理、网络通信、资源加载等模块,都是AS3游戏引擎的重要组成部分...
总结,APE AS3 物理引擎为ActionScript开发者提供了一种强大的工具,使得在Flash平台上创建复杂的物理行为变得简单。无论你是想制作游戏还是创建互动内容,掌握这个引擎都能极大地提升你的项目质量和用户体验。
总结起来,AS 3.0经典雪花效果是一个综合运用图形绘制、时间轴控制、物理模拟、随机数和数组操作等技能的项目。通过这个项目,开发者不仅可以学习到AS 3.0的基本语法,还能提升在动态效果和互动内容设计上的能力。
总结一下,通过研究和分析这个AS3版的Flappy Bird,我们可以学到如何用AS3进行游戏开发,包括但不限于角色动画控制、物理引擎应用、事件监听、碰撞检测、得分系统设计以及用户体验优化。这不仅能够提升我们的AS3编程...
根据提供的文件信息,我们可以深入分析该AS3(ActionScript 3)实现的绳子算法,主要涉及以下几个关键知识点: ### 1. AS3基础概念 #### ActionScript 3简介 ActionScript 3 (AS3) 是一种面向对象的编程语言,主要...
总结起来,ASGL是一个功能齐全的3D图形库,它使Flash开发者能够利用ActionScript 3实现3D内容的创建和交互,扩展了Flash的视觉表现力。通过深入理解和应用ASGL,开发者可以在网页上实现丰富的3D视觉效果,创造独特的...
总结起来,这段代码展示了如何使用AS3在Flash中构建一个简单的金鱼动画,涉及到元件的创建、动画的更新以及循环和条件判断的运用。通过调整数值和逻辑,可以创建出各种复杂的群体行为或动态效果。
总结起来,Flash AS3中的多小球碰撞回弹效果是通过精确的物理模拟和高效的碰撞检测算法实现的。这个过程涉及了动量守恒、向量运算、碰撞响应等多个物理学和计算机科学的原理。理解并掌握这些知识,对于开发交互式...
在AS3.0中,我们可以通过数学公式和编程技巧来实现抛物线运动效果。 抛物线的基本概念: 抛物线是一种二次曲线,由垂直于初始投射方向的力(如重力)作用下的抛体运动轨迹形成。它的形状由方程 y = ax^2 + bx + c ...
总结来说,"planar_tools_as3"教程是一个全面的AS3曲线绘制学习资源,包含了实例代码、交互式示例和详尽的指导,无论是初学者还是有经验的开发者,都能从中获益匪浅。通过实践这些教程,你将能够运用AS3创造出各种...
总结起来,"翻页效果(as2.0).rar"中的"pageflip2b"可能是实现这种复杂交互效果的代码模块,包含了上述所有步骤的实现。了解并掌握这种翻页组件的创建方法,对于理解Flash ActionScript 2.0的动画和交互设计有重要...
在Adobe Flash Professional中使用ActionScript 3.0(AS3)进行动画制作时,经常需要对多个MovieClip(简称MC)对象进行层次调整以实现自然流畅的视觉效果。例如,在模拟三维空间中的运动时,物体靠近或远离观察者时...
总结,Flash AS3 弓箭手项目展示了如何运用编程技巧实现游戏中的动态追踪功能,通过对普通方法和贝塞尔曲线的比较,我们了解到在视觉效果和游戏体验上的差异。掌握这些技术,对于提升Flash游戏的品质和玩家满意度至...
总结来说,"Flash 3D运动的星域"这个主题不仅涵盖了ActionScript 3.0编程基础,还深入到了使用Sandy 3D引擎创建动态3D效果的实践应用。对于想要进入或提升在Flash 3D开发领域的专业人士来说,这是一个宝贵的资源,...
AS3.0中的键盘监听器(KeyboardEvent)用于捕获用户输入,根据输入更新角色的运动状态。碰撞检测通常通过矩形碰撞算法实现,确保角色与环境、敌人、道具等的交互。 2. 场景转换:游戏世界由多个关卡组成,AS3.0中的...
Flash CS4引入了更强大的骨骼动画系统,使用户能更直观地操作对象并创建复杂的运动效果。 2. **ActionScript 3.0 (AS3)**:是Flash平台的核心编程语言,相比之前的版本,AS3具有更严格的类型检查、更好的性能和更...