第二部分 基本运动
第五章 速度和加速度
- 向量(vector):
- 速度:需要用到事件ENTER_FRAME,每帧都会调用
- 角速度:直到角度和速度
Var vx:Number = Math.cos(angle)*speed;
Var vy:Number = Math.sin(angle)*speed;
- 加速度:
Vx += ax;
Ball.x += vx;
加速度为0.2
- 控制小球移动:
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
private function onKeyDown(event:KeyboardEvent):void{
if(event.keyCode == Keyboard.LEFT){
ax = -2;
}
else if(event.keyCode == Keyboard.RIGHT){
ax = 2;
}
}
- 角加速度、太空船
第六章 边界和摩擦力
- 环境边界:使物体在一个范围内运动。
1>如果让舞台在播放器窗口发生变化时同时缩放
import flash.display.StageAlign;
import flash.display.StageScaleMode;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
2>如果物体出了范围,也就是边界:
移除它、移回它作为新物体、屏幕折回、弹回原来的区域
- 摩擦力:
Var speed:Number = Math.sqrt(vx*vx+vy*vy);
Var angle:Number = Math.atan2(vy,vx);\
或者简单方法:
Vx*=friction; vy*=friction; ball.x+=vx; ball.y+=vy;
第七章 用户交互:移动物体
- 按下和放开精灵Sprite
MouseEvent.MOUSE_DOWN/UP/MOVE(ball、stage)
- 拖动精灵:
先监听DOWN,在监听MOVE和UP,move改变x,y;up移除监听
- 使用startDrag和stopDrag拖动:
在down事件中使用startDrag,在up事件中使用stopDrag
- 抛运动:
主要运用到,当前帧x和上一帧x来计算,mouseUp后小球的速度。