【问题标题】:MVC Pattern in Games: Animation?游戏中的 MVC 模式:动画?
【发布时间】:2015-03-18 22:59:58
【问题描述】:

假设我的游戏有实体,假设所有这些实体都有一个由多个形状组成的碰撞碰撞盒。我们还假设使用骨骼动画并且每个碰撞形状对应一个骨骼。 我通过为每种实体类型 fE 设置一个数据容器、渲染器和控制器来实现基本的 MVC 模式:

class MyEntity:public Entity{
    public: int x, y, state; vector<hitbox> hitboxArray;

class MyEntityRenderer:public Renderer{
    void render(){
        ...
    }
}
class MyEntityController:public Controller {
    update(){}
    inputstuff(){}
}

如果我希望根据动画及其进度修改 hitboxes 翻译,我现在如何实际实现动画?

如果我只有一个动画,我会清楚地将整个东西放在渲染器中,但是现在呢?如何将 MVC 应用于此问题?

【问题讨论】:

    标签: c++ animation design-patterns model-view-controller


    【解决方案1】:

    您的动画只是模型的视觉渲染。您可以让您的实体进入“跳跃”状态,该状态将为模型中的 hitbox 操作其 y 变量。渲染模型时,如果您的实体处于跳跃状态,则显示其跳跃动画或图像。

    您不想根据动画来操作碰撞框,而是要根据碰撞框来操作动画。

    【讨论】:

    • 感谢您的回答!这似乎合乎逻辑。这是否意味着,骨骼的动画基本上是逻辑,而渲染部分真的只渲染依赖于命中框/骨骼位置的“静态”纹理?我猜是吗?
    猜你喜欢
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 2012-02-26
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    相关资源
    最近更新 更多