动画经理设计模式?

时间:2015-01-18 17:04:32

标签: c++ animation design-patterns cocos2d-x cocos2d-x-3.0

我有一个精灵,它有很多关于不同按键事件的动画。 例如,当我按下右箭头键。它将运行以下动画: Startrun,run,Endrun 虽然运行周期取决于是否仍然按下了键。

我考虑过维护某种行为队列,并且有一个方法可以调用每个更新,然后按顺序运行这些操作。

为了坚持好的设计。我想到了一个合适的设计模式。 综合?观察? 这里的最佳做法是什么?

真的很想听听你的想法甚至是一些例子。

由于 Koby

1 个答案:

答案 0 :(得分:1)

这个问题是主观的,每个开发人员都会有自己的实施风格。但是我会给它2美分。

我的方式(请注意主观的“我的”)将是这样的:

  • 精灵经理
    • 从精灵文件创建精灵的单件抽象工厂
    • 还将服务器作为精灵对象池
  • 精灵
    • 精灵帧和精灵动画的组合
  • 精灵动画
    • 精灵帧的聚合
  • 游戏物体
    • 精灵,位置和其他有趣的东西的聚合
    • 在主循环上调用了一个UpdateFunction
  • PlayerObject
    • 派生游戏对象
    • 在其中实施的状态机
  • LocalPlayer
    • 派生PlayerObject
    • 注册为InputManager
    • 的观察者
  • RemotePlayer
    • 派生PlayerObject
    • 以Socket
    • 的观察者身份注册