FLEX和Actionscript开发FLASH游戏7-4

FLEX和Actionscript开发FLASH游戏7-4
2010年11月24日
  使用FLEX和Actionscript开发FLASH 游戏-位图动画
  Enemy.as package { import flash.geom.Point; import mx.core.*; public class Enemy extends AnimatedGameObject { static public var pool:ResourcePool=new ResourcePool(NewEnemy); protected var logic:Function=null; protected var speed:Number=0; static public function NewEnemy():Enemy { return new Enemy(); } public function Enemy() { super(); } public function startupBasicEnemy(graphics:GraphicsResource,positi on:Point,speed:Number):void { super.startupAnimatedGameObject(graphics,position, ZOrders.PlayerZOrder); logic=basicEnemyLogic; this.speed=speed; this.collisionName=CollisionIdentifiers.ENEMY; } override public function shutdown():void { super.shutdown(); logic=null; } override public function enterFrame(dt:Number):void { super.enterFrame(dt); if(logic!=null) logic(dt); } protected function basicEnemyLogic(dt:Number):void { if(position.y>Application.application.height+graphi cs.bitmap.height) this.shutdown(); position.y+=speed*dt; } override public function collision(other:GameObject):void { var animatedGameObject:AnimatedGameObject=AnimatedGame Object.pool.ItemFromPool as AnimatedGameObject; animatedGameObject.startupAnimatedGameObject(Resou rceManager.BigExplosionGraphics,new Point( position.x+graphics.bitmap.width/graphics.frames/2 - ResourceManager.BigExplosionGraphics.bitmap.width/ ResourceManager.BigExposionGraphics.frames/2, position.y+graphics.bitmap.height/2- ResourceManager.BigExplosionGraphics.bitmap.height /2), ZOrders.PlayerZOrder,ture); this.shutdown(); } } } 通过继承AnimatedGameObject类而不是GameObject类我们让敌机类动画化。这也需要在我们的startup函数中调用super.startupAnimatedGameObject而不是super.startupGameObject。
  其它的唯一的变化是在collision函数里,在这里我们生成了AnimatedGameObject来描绘爆炸。注意我们在构造器中设置playOnce为真。这意味着爆炸将被产生,然后在屏幕里移除其之前将呈现一次爆炸特效。
  动画给游戏增加了一个整个的新的级别。通过生成AnimatedGameObject类我们现在能够快速简单地给游戏增加动画对象。现在只差一件事就是声效,我们将在第八部分增加。
  在http://flexfighters.sourceforge.net/flexfighters7. html处可查看最终效果,从https://sourceforge.net/project/showfiles.php?grou p_id=241490&package_id=293860&release_id=633834处可下载资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值