游戏中的MVC模式:动画

MVC Pattern in Games: Animation?

本文关键字:动画 模式 MVC 游戏      更新时间:2023-10-16

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

class MyEntity:public Entity{
    public: int x, y, state; vector<hitbox> hitboxArray;
class MyEntityRenderer:public Renderer{
    void render(){
        ...
    }
}
class MyEntityController:public Controller {
    update(){}
    inputstuff(){}
}

如果我想根据动画及其进度修改点击框翻译,我现在如何才能真正实现动画?

如果我只有一个动画,我会把所有的东西都放在渲染器里,但现在呢?如何将MVC应用于此问题?

您的动画只是模型的视觉渲染。你可以让你的实体进入一个"跳跃"状态,这将为它在模型中的点击框操纵它的y变量。渲染模型时,如果实体处于跳跃状态,则显示其跳跃动画或图像。

您不希望基于动画来操纵命中框,而是希望基于命中框来操纵动画。