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

本文介绍游戏开发中自我管理对象的概念及其特点,通过具体案例说明如何利用此类对象简化游戏逻辑实现,减少内存泄漏等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

什么是自我管理的对象

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

自我管理对象的特点

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

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

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

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

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

 

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

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

自我管理对象使用实例

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

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

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

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

 

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值