package com.funct { import flash.display.Sprite; import flash.events.Event; import flash.utils.getTimer; public class TimeBased extends Sprite { private var ball:Ball; private var vx:Number; private var vy:Number; private var bounce:Number=-0.7; private var time:Number; public function TimeBased() { init(); } private function init():void { stage.frameRate=100; ball=new Ball(); ball.x=stage.stageWidth / 2; ball.y=stage.stageHeight / 2; vx=300; vy=-300; addChild(ball); time=getTimer(); addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function onEnterFrame(event:Event):void { var elapsed:Number=getTimer() - time; time=getTimer(); ball.x+=vx * elapsed / 1000; ball.y+=vy * elapsed / 1000; var left:Number=0; var right:Number=stage.stageWidth; var top:Number=0; var bottom:Number=stage.stageHeight; if (ball.x + ball.radius > right) { ball.x=right - ball.radius; vx*=bounce; } else if (ball.x - ball.radius < left) { ball.x=left + ball.radius; vx*=bounce; } if (ball.y + ball.radius > bottom) { ball.y=bottom - ball.radius; vy*=bounce; } else if (ball.y - ball.radius < top) { ball.y=top + ball.radius; vy*=bounce; } } } }
转载于:https://www.cnblogs.com/ndljava/archive/2012/04/17/2453132.html