- 浏览: 13842 次
最新评论
FLEX和Actionscript开发FLASH游戏5-2
2010年11月12日
一个新的类,敌机,被生成来代表敌人。现在让我们看看代码。
Enemy.as package { import flash.geom.Point; import mx.core.*; public class Enemy extends GameObject { 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.startupGameObject(graphics,position,ZOrders. PlayerZOrder); logic=basicEnemyLogic; this.speed=speed; } override public function shutdown():void { super.shutdown(); logic=null; } override public function enterFrame(dt:Number):void { 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; } } } 通过这些简单的改变我们现在可以在游戏中以一定的时间间隔生成敌机。下一步将生成游戏者能够用来使用的武器。这么做我们需要生成武器类。让我们看看它的代码。
Weapon.as
package
{
import flash.geom.*;
public class Weapon extends GameObject
{
static public var pool:ResourcePool=new ResourcePool(NewWeapon);
protected var logic:Function=null
protected var speed:Number=0;
static public function NewWeapon():Weapon
{
return new Weapon();
}
public function Weapon()
{
super();
}
public function startupBasicWeapon(graphics:GraphicsResource,posit ion:Point,speed:Number):void
{
super.startupGameObject(graphics,position,ZOrders. PlayerZOrder);
logic=basicWeaponLogic;
this.speed=speed;
}
override public function shutdown():void
{
super.shutdown();
logic=null;
}
override public function enterFrame(dt:Number):void
{
if(logic!=null)
logic(dt);
}
protected function basicWeaponLogic(dt:Number):void
{
if(position.yApplication.application.width-graphic s.bitmap.width) position.x=Application.application.width-graphics. bitmap.width; if(position.yApplication.application.height-graphi cs.bitmap.height) position.y=Application.application.height-graphics .bitmap.height; } override public function mouseDown(event:MouseEvent):void { shooting=true; } override public function mouseUp(event:MouseEvent):void { shooting=false; } } } 我们已经增加了shooting属性。当被设置为真时(在mouseDown函数里,此函数在鼠标左键被按下时调用)游戏者周期性地增加生成新的武器类实例。mouseUp(当鼠标按钮被释放时调用)将设置shooting 为假,而且Player停止生成新的武器。timeToNextShot/TimeBetweenShots属性对被用来生成新的武器对象。
通过生成这两个新的类(武器和敌机),在Level和Player类中增加了一些小小的改变我们几乎到此时有了一个可以玩的游戏了。你将发现实际上你还不能向敌人射击。那需要我们在第六部分增加一些东西:冲突检测。
在http://flexfighters.sourceforge.net/flexfighters5. html处可查看最终效果,从https://sourceforge.net/project/showfiles.php?grou p_id=241490&package_id=293860&release_id=632324处可下载资源。
发表评论
-
数据库连接字符串详解
2012-07-06 09:52 745数据库连接字符串,这个东东,编程的时候总是能碰到它,一直没 ... -
spring aop学习笔记
2012-07-06 09:46 820在编程中经常会遇到些许可复用、开发意义不大、技巧性的代码段 ... -
Flamingo学习之 Ribbon组件的整体概述
2012-07-03 13:44 1279Flamingo学习之 Ribbon组件的整体概述 F ... -
使用Validator.validateAll对所有验证控件进行验证的例子
2012-07-02 12:59 843调用 validators 数组中的所有验证程序。返回一个 ... -
Web前端开发之“常见模块你真的很了解吗?”
2012-07-02 12:59 673标题和内容模 ... -
Using Valgrind to Find Memory Leaks
2012-07-02 12:59 646document.write ("he ... -
WPF拖拽效果实现
2012-07-02 12:59 2072Silverlight的版本不断更新.当然有些很不错的功能 ... -
CheckBox 列表的取值并用XML 对其进行赋值的例子
2012-07-02 12:59 804首先用一个XML对一组CheckBox进行赋值 然 ... -
flash.net.SharedObject共享对象
2012-07-01 10:32 847通过使用SharedObject数据可以被存储在用户的本地 ... -
WebService另一种轻量级实现―Hessian 学习笔记
2012-07-01 10:31 795最近和同事聊天,得知他们在使用一种叫做Hessian的We ... -
Ubuntu配置笔记
2012-07-01 10:31 921#vi /etc/apt/sources.list 在打开 ... -
个人电脑数据维护
2012-07-01 10:31 615对于个人电脑用户而言,由于经常要上网,很多网站都存在各种安 ... -
flex启航
2012-06-30 16:55 701flex启航 2010年11月22日 ... -
Flex 学习资源
2012-06-30 16:55 544Flex 学习资源 2010年11月11日 一、国外站点 ... -
FLEX学习网站
2012-06-30 16:55 603FLEX学习网站 2010年07月15日 今天把收藏夹共 ... -
Hello,Flex
2012-06-30 16:55 417Hello,Flex 2010年07月26日 ...
相关推荐
使用FLEX 和 Actionscript 开发FLASH 游戏3-1
使用FLEX 和 Actionscript 开发FLASH 游戏8-1
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX 和 Actionscript 开发FLASH 游戏
使用FLEX 和 Actionscript 开发FLASH 游戏
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX 和 Actionscript 开发FLASH 游戏
使用FLEX 和 Actionscript 开发FLASH 游戏
FLEX和Actionscript开发FLASH游戏的中文文档,内容和详细 希望对你有用~
使用FLEX 和 Actionscript开发FLASH 游戏(一)
使用FLEX 和 Actionscript开发FLASH 游戏
使用FLEX和 Actionscript 开发FLASH游戏
使用FLEX 和 Actionscript开发FLASH 游戏
使用FLEX 和 Actionscript开发FLASH 游戏
使用FLEX 和 Actionscript开发FLASH 游戏