as小球深度和幅度

package
{
import flash.display.Sprite;
import flash.events.Event;

/**
* ...
* @author DefaultUser (Tools -> Custom Arguments...)
*/
public class JumpBall extends Sprite
{
private var jumpDistance:uint = 150; //小球跳動的幅度
private var angle:Number=0; //控制小球運動三角函數變量
private var vr:Number = 0.1; //控制小球運動的速度
private var centerX:Number = 200;
private var centerY:Number = 300;
private var scaleAndalpha:Number = 40; //控制小球深度的縮放及alpha幅度的變量(爲體現效果,同時改變alpha值)
private var ball:Ball = new Ball();

public function JumpBall()
{
init();
}

private function init():void
{
addChild(ball);
ball.x = centerX;
ball.y = centerY;
addEventListener(Event.ENTER_FRAME, onEnterFrames);
}

private function onEnterFrames(e:Event):void
{
angle += vr ;
ball.y = centerY - jumpDistance * Math.abs(Math.cos(angle)); //將小球控制成單向運動
ball.alpha=ball.scaleX = ball.scaleY = (60 + scaleAndalpha * Math.abs(Math.cos(angle))) / 100;
}

}
}
//爲方便閱讀,特將以下代碼定義爲包外類
import flash.display.Sprite;
class Ball extends Sprite
{
function Ball()
{
graphics.clear();
graphics.beginFill(0xff0000, 1);
graphics.drawCircle(0, 0, 10);
graphics.endFill();
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章