Flash as3.0教程:弹性小球
作者 凌众技术
来源 网页制作
浏览
发布时间 2012-03-10
搞AS游戏开发的朋友也许都听过Keith Peters大师,为我们缔造了那么多的经典算法,偶虽然不是游戏方向,但是还是特别喜欢!近些天拜读了《Making Things Move》的一部分,大师的经典杰作。数学与物理的伟大艺术体现,一直逃不脱我的眼球! 来玩儿一个,做一个健身的小弹力球,在地球上有重力哦^^先看看:
import flash.display.Sprite; import flash.events.Event; import flash.display.StageScaleMode; import flash.display.Stage; public class TestBall extends Sprite { private var ball:Ball; private var spring:Number=0.1; private var vx:Number=0; private var vy:Number=0; //这个是摩擦力啦!可以调节一下值看看变化 private var friction:Number=0.95; //这个是重力,和我们现实生活中差不多 private var gravity:Number=5; public function TestBall() { this.stage.scaleMode=StageScaleMode.NO_SCALE; //实例化一个小球(在库里的哦) ball=new Ball(); this.addChild(ball); this.addEventListener(Event.ENTER_FRAME,onEnterFrame); } private function onEnterFrame(event:Event):void { //下面是核心算法,好好研究哦 var dx:Number=mouseX-ball.x; var dy:Number=mouseY-ball.y; var ax:Number=dx*spring; var ay: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,转载请注明出处,谢谢!-*- |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Flash实例教程:卡通MM眨眼睛动画下一篇: Flash模拟地震摇晃动画效果
关于Flash as3.0教程:弹性小球的所有评论