物体的运动(二)

加入重力

在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);
		}

原文地址:https://www.cnblogs.com/ywxgod/p/1708861.html