Cocos2d-x 3.x控制器模式

本文介绍了Cocos2d-x 3.x中控制器模式的应用,探讨了模式定义及其实例。该模式下,被控对象可以由多个控制器同时控制,以实现灵活的游戏元素行为。例如,通过定义被控对象基类和控制器基类,创建特定控制器来控制玩家对象(继承自精灵和被控类)在游戏中的移动。
摘要由CSDN通过智能技术生成

该模式不是23种设计模式中的一种,是游戏开发中经常采用的一种设计模式,在此,顺便拿来讨论。

模式定义

该模式描述了“控制器”和“被控对象”之间的关系,被控对象同一时刻可能被多个控制器控制。

实例

在游戏中,精灵的移动可以表现为多种方式(平移,贝塞尔曲线等等)。为了方便控制精灵,我们可以设计多种控制器用于控制精灵。

被控对象

首先定义一个被控对象基类,并提供接口以便控制器调用(用于控制)。

#include "cocos2d.h"

USING_NS_CC;

class ControllerListener
{
public:
    /*  控制器希望控制 被控对象 的位置  */
    virtual void setTagPosition(float x, float y) = 0;
    virtual Point getTagPosition() = 0;
};

玩家对象 继承精灵和被控类,以便玩家具备两种特性(精灵特性 和 能够被控制)

 class Player: public Sprite, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值