加入重力
在Main.as中定义重力
private var _gravity:Number = 0.5;
修改onFrame函数,在把速度加到位置之前,需要在y方向的速度上再加上一个重力。
private function onFrame(e:Event):void { _circle.vy += _circle.ay; _circle.vx += _circle.ax; _circle.vy += _gravity; _circle.vx *= _circle.friction; _circle.vy *= _circle.friction; _circle.x += _circle.vx; _circle.y += _circle.vy; vTi.text = _circle.vx.toFixed(2); aTi.text = _circle.vy.toFixed(2); }
加上风的效果
private var _wind:Number = 0.3;
修改onFrame函数,在把速度加到位置之前,需要在x方向的速度上再加上一个风力(此处是从左向右的风)。
private function onFrame(e:Event):void { _circle.vy += _circle.ay; _circle.vx += _circle.ax; _circle.vy += _gravity; _circle.vx += _wind; _circle.vx *= _circle.friction; _circle.vy *= _circle.friction; _circle.x += _circle.vx; _circle.y += _circle.vy; vTi.text = _circle.vx.toFixed(2); aTi.text = _circle.vy.toFixed(2); }
加上旋转的效果
修改onFrame函数,在把速度加到位置之后,再将x方向的速度加到物体的rotation属性。
private function onFrame(e:Event):void { _circle.vy += _circle.ay; _circle.vx += _circle.ax; _circle.vy += _gravity; _circle.vx += _wind; _circle.vx *= _circle.friction; _circle.vy *= _circle.friction; _circle.x += _circle.vx; _circle.y += _circle.vy; _circle.rotation += _circle.vx; vTi.text = _circle.vx.toFixed(2); aTi.text = _circle.vy.toFixed(2); }