当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > Flash as3.0教程:弹性小球

ActionScript
Flash as入门(9):控制时间轴
Flash as入门(10):影片剪辑的深度
Flash as入门(12):使用遮罩Mask
Flash as入门(13):用AS代码实现过渡
Flash as入门(14):用AS实现补间动画
Flash as入门(15):filters类滤镜
Flash as入门(16):用AS绘制各种图形
导入图片批量生成到顺序帧自动发布swf
Flash as入门(18):MC使用颜色
TypeError: Error #1009: 无法访问空对象引用的属性或方法
Flash CS4如何控制动画声音的停止和播放
Flash AS实例:神奇的数字魔术盒子
Flash as入门(19):日期和时间
介绍ActionScript开发环境Flex Builder
Flash AS3实例教程:制作火苗动画
AS3教程:制作任意放大缩小旋转的变形工具
Flash实例:动态产生元件实例并控制
Flash AS3教程:旋转一周的直线并显示其轨迹
Flash AS动画证明数学的勾股定理
AtionScrip 3.0制作雪花飘飘动画

ActionScript 中的 Flash as3.0教程:弹性小球


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-16   浏览: 52 ::
收藏到网摘: n/a

搞AS游戏开发的朋友也许都听过Keith Peters大师,为我们缔造了那么多的经典算法,偶虽然不是游戏方向,但是还是特别喜欢!近些天拜读了《Making Things Move》的一部分,大师的经典杰作。数学与物理的伟大艺术体现,一直逃不脱我的眼球!

来玩儿一个,做一个健身的小弹力球,在地球上有重力哦^^先看看:




下面是实现:
package{
importflash.display.Sprite;
importflash.events.Event;
importflash.display.StageScaleMode;
importflash.display.Stage;

publicclassTestBallextendsSprite{
privatevarball:Ball;
privatevarspring:Number=0.1;
privatevarvx:Number=0;
privatevarvy:Number=0;
//这个是摩擦力啦!可以调节一下值看看变化
privatevarfriction:Number=0.95;
//这个是重力,和我们现实生活中差不多
privatevargravity:Number=5;
publicfunctionTestBall(){
this.stage.scaleMode=StageScaleMode.NO_SCALE;
//实例化一个小球(在库里的哦)
ball=newBall();
this.addChild(ball);
this.addEventListener(Event.ENTER_FRAME,onEnterFrame);
}
privatefunctiononEnterFrame(event:Event):void{
//下面是核心算法,好好研究哦
vardx:Number=mouseX-ball.x;
vardy:Number=mouseY-ball.y;
varax:Number=dx*spring;
varay:Number=dy*spring;
vx =ax;
vy =ay;
vy =gravity;
vx*=friction;
vy*=friction;
ball.x =vx;
ball.y =vy;
//绘制线条
this.graphics.clear();
this.graphics.lineStyle(1);
this.graphics.moveTo(ball.x,ball.y);
this.graphics.lineTo(mouseX,mouseY);
}
}
}
-*-原文地址:http://fck.name/node/138,转载请注明出处,谢谢!-*-