使用FLEX 和 Actionscript 开发FLASH 游戏7-4

preview
需积分: 0 11 下载量 62 浏览量 更新于2009-06-08 收藏 32KB DOC 举报
在使用FLEX和Actionscript开发Flash游戏时,我们经常会遇到各种技术细节和设计模式。在这个场景中,`Enemy`类是一个关键的组件,它是基于`AnimatedGameObject`抽象类来创建的,用于实现敌人的动画和行为逻辑。以下是这个代码片段中涉及的一些核心知识点: 1. **类继承**:`Enemy`类继承自`AnimatedGameObject`,这是一种面向对象编程中的继承机制,允许`Enemy`类获取并扩展`AnimatedGameObject`类的功能。`AnimatedGameObject`可能包含了动画播放、位置更新等通用的游戏对象行为。 2. **资源池**:`ResourcePool`是用于管理对象复用的类,例如`pool`变量。`NewEnemy`函数用于创建新的`Enemy`实例,当需要创建新的敌人时,可以从中获取或创建,避免了频繁的对象创建和销毁,提高了性能。 3. **静态成员**:`static`关键字用于声明静态成员,如`pool`和`NewEnemy`函数。静态成员属于类本身而非类的实例,可以被类的所有实例共享。 4. **函数指针**:`logic`变量是一个`Function`类型,它存储了一个逻辑处理函数的引用。这允许`Enemy`在每个帧中调用不同的行为逻辑,例如`basicEnemyLogic`。 5. **属性和方法**: - `speed`属性存储了敌人的移动速度。 - `startupBasicEnemy`方法初始化敌人,设置图形资源、位置、速度和碰撞标识。 - `shutdown`方法负责清理和释放资源,当敌人不再需要时调用。 - `enterFrame`方法覆盖了父类的`enterFrame`,在每一帧更新时调用,如果存在逻辑函数,则执行该逻辑。 - `basicEnemyLogic`方法是敌人的基本移动逻辑,当敌人超出屏幕边界时,会调用`shutdown`方法。 - `collision`方法处理与其它游戏对象的碰撞事件,当发生碰撞时,显示爆炸效果并销毁敌人。 6. **碰撞检测**:`collision`方法使用了`collisionName`来标识敌人的碰撞类型,`AnimatedGameObject`的`collision`方法可能包含了基础的碰撞检测机制,这里触发了爆炸效果并回收了敌人。 7. **Actionscript的类库导入**:`import`语句导入了必要的类库,如`flash.geom.Point`用于表示二维坐标,`mx.core.*`导入了Flex框架的核心组件。 8. **位图动画**:`graphics.bitmap`和`frames`属性暗示了敌人可能是一个位图动画,其帧数据可能存储在`GraphicsResource`中,每帧的更新由`enterFrame`方法处理。 9. **ZOrders.PlayerZOrder**:这可能是一个定义了游戏对象层次结构的枚举值,确保敌人位于玩家的某一特定层级。 通过这些知识点,我们可以理解到在Flash游戏开发中,如何利用FLEX和Actionscript构建可扩展和高效的敌对角色,包括它们的动画、行为逻辑以及与其他游戏元素的交互。同时,也展示了如何利用面向对象编程和资源管理来优化游戏性能。
身份认证 购VIP最低享 7 折!
30元优惠券
literza
  • 粉丝: 1
  • 资源: 28
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源