现在的位置: 首页 > 综合 > 正文

将游戏中的行为封装为自我管理的对象(1)

2018年05月27日 ⁄ 综合 ⁄ 共 743字 ⁄ 字号 评论关闭

 

将游戏中的行为封装为自我管理的对象

什么是自我管理的对象

         顾名思义,自我管理的对象应该有自我管理能力,一旦创建后,创建者不需要关心其运行,也不用负责销毁.自我管理的对象会在自我的生命周期内完成特定的任务,然后自我析构.

自我管理对象的特点

自我管理的对象有以下特点:

a.      
有固定的生命周期,生命周期结束后,自我销毁

b.      
对象的使用者只需要负责创建,不用负责销毁.

c.      
在创建时,传入对象执行所需的上下文(context)

d.      
在生命周期内,对象根据上下文执行相应的逻辑

 

为什么要使用自我管理的对象

自我管理的小对象有自动析构的特点,因此使用它可以减少内存泄露的bug.另外,小对象生命周期开始后,与对象的使用者无关.它只是按照context执行相应的逻辑.

自我管理对象使用实例

         自我管理的对象比较适合用来封装一些固定的算法,比如怪物的AI,技能和行为等.例如:

1.             
一个怪物需要从a点寻路到b,我们只需要写一个自我管理的类比如PathFindAction,传入路径参数,和怪物对象,一旦创建PathFindAction之后,其自动执行,将怪物从a点移动到b.然后自我析构.

2.             
玩家将一个怪物以抛物线的方式击飞,我们只需要写一个ParabolaToPosAction,传入怪物对象,和抛物线参数,创建ParabolaToPosAction,其会将怪物以抛物线的方式移动到指定的点.

从上面两个实例可以看出,将行为和算法封装为自我管理的对象,可以更抽象的对游戏世界建模,我们可以创建不同的Action,复用它们来创建一个游戏世界.

 

 

下一节,我将讲述自我管理对象的类图框架.

抱歉!评论已关闭.