您的位置:首页 > 其它

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;

// 两个轴上的加速度

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: