MTM动画教程学习笔记1【第五章 速度和加速度】
2013-11-24 12:26
218 查看
第五章
速度和加速度
1. 速度:特定方向上的速率,改变对象的位置。 ball.x += vx;
加速度:改变对象速度的力。 vx += ax;
角速度和角加速度
2.可以通过三角函数来计算角速度分别作用于x轴和y轴上的速度,同理角加速度也是,通过三角计算分给作用于x和y上的加速度。
speed = 5;
vx = Math.sin(angle) * speed; // angle换算成弧度
vy = Math.cos(angle) * speed;
ball.x += vx;
ball.y += vy;
force = 5;
ax = Math.sin(angle) * force;
vx += ax;
ball.x += vx;
3.重力加速度:其实就是加速度,作用于y轴上(时刻)。ay += gravity;
速度和加速度
1. 速度:特定方向上的速率,改变对象的位置。 ball.x += vx;
加速度:改变对象速度的力。 vx += ax;
角速度和角加速度
2.可以通过三角函数来计算角速度分别作用于x轴和y轴上的速度,同理角加速度也是,通过三角计算分给作用于x和y上的加速度。
speed = 5;
vx = Math.sin(angle) * speed; // angle换算成弧度
vy = Math.cos(angle) * speed;
ball.x += vx;
ball.y += vy;
force = 5;
ax = Math.sin(angle) * force;
vx += ax;
ball.x += vx;
3.重力加速度:其实就是加速度,作用于y轴上(时刻)。ay += gravity;
// 两个轴上的加速度 addEventListener(Event.ENTER_FRAME,onFrame); stage.addEventListener(KeyboardEvent.KEY_DOWN,onDown); stage.addEventListener(KeyboardEvent.KEY_UP,onUp); var ax:Number = 0; var ay:Number = 0; var vx:Number = 0; var vy:Number = 0; function onDown(e:KeyboardEvent):void { switch(e.keyCode) { case Keyboard.LEFT: ax = - 0.2; break; case Keyboard.RIGHT: ax = 0.2; break; case Keyboard.UP: ay = -0.2; break; case Keyboard.DOWN: ay = 0.2; break; } } function onUp(e:KeyboardEvent):void { ax = ay = 0; } function onFrame(e:Event):void { vx += ax; vy += ay; ball.x += vx; ball.y += vy; }
// 太空船 ship.tail.visible = false; addEventListener(Event.ENTER_FRAME,onFrame); stage.addEventListener(KeyboardEvent.KEY_DOWN,onDown); stage.addEventListener(KeyboardEvent.KEY_UP,onUp); var vr:Number = 0; var thrust:Number = 0; var vx:Number = 0,vy:Number = 0; function onDown(e:KeyboardEvent):void { switch(e.keyCode) { case Keyboard.LEFT: vr = -5; break; case Keyboard.RIGHT: vr = 5; break; case Keyboard.UP: thrust = 0.2; ship.tail.visible = true; break; } } function onUp(e:KeyboardEvent):void { vr = 0; thrust = 0; ship.tail.visible = false; } function onFrame(e:Event):void { ship.rotation += vr; var angle:Number = ship.rotation * Math.PI / 180; var ax:Number = thrust * Math.cos(angle); var ay:Number = thrust * Math.sin(angle); vx += ax; vy += ay; ship.x += vx; ship.y += vy; }
相关文章推荐
- MTM动画教程学习笔记1【第三章 动画中的三角学】
- MTM动画教程学习笔记1【第七章 用户交互:移动物体】
- MTM动画教程学习笔记1【第六章 边界和摩擦力】
- MTM动画教程学习笔记1【第四章 渲染技术】
- 【jQuery】jQuery官方基本教程的学习笔记3-动画效果Effects
- cocos2d-x学习笔记(二)浅入动画教程。
- AS3 高级动画教程学习之:等角投影笔记
- Python基础教程学习笔记----第五章 条件、循环和其他语句
- 刘景娴--电话行销企业系统教程(理念篇)学习笔记
- 挑战C#学习的最快速度_C#教程
- [AndEngine学习教程] 第4节 制作人物动画
- python3.4学习笔记(十六) windows下面安装easy_install和pip教程
- 学校学习ios教程笔记,第七节swift中的类与对象的属性和懒加载
- C#学习笔记(4)_C#教程
- Android动画学习笔记-Android Animation
- Unity3D之Mecanim动画系统学习笔记(四):Animation State
- java虚拟机学习笔记——java虚拟机内部体系概述(第五章)
- (学习笔记3)TexturePackerGUI的使用和角色动画的创建
- 网络编程4--毕向东java基础教程视频学习笔记
- Android开发笔记之Intent初级学习教程