gpt4 book ai didi

model-view-controller - 俄罗斯方 block 和漂亮的图形

转载 作者:行者123 更新时间:2023-12-02 06:45:37 25 4
gpt4 key购买 nike

假设您正在构建俄罗斯方 block 游戏。作为任何合适的程序员,您的 View 逻辑在一侧,而业务逻辑在另一侧;可能正在进行完整的 MVC。

当模型发送其 update() 时, View 会按预期重绘自身。

但是……如果您想添加一个动画来使一条线消失,您将如何在 View 中实现它?

做任何你想要的假设——除了“一切都被正确封装”。

最佳答案

就个人而言,我会尽可能多地单独绘制屏幕,​​即使没有更新 block 位置。所以我会在某个地方有一个循环,其中包含一个“更新” 和一个“渲染” 部分。更新对执行或不执行任何位置更新和/或 block 删除的逻辑起作用。 Render 将球传给图形部分,图形部分将 block 绘制到它们应该在的位置。

现在,如果有要删除的行,逻辑会知道并可以标记要删除的行。我在这里假设,每一 block 都由 4 个单独的 block 组成,并且这些 block 中的任何一个都是一个对象。现在,当这个 block 设置了“死亡”标志时,您可以使用一些渲染部分来使 block 消失(比方说,500 毫秒爆炸)。这段时间之后,物体可能会被处理掉,上面一行的方 block 会掉下来。为什么是 500 毫秒?嗯,您绝对应该使用基于时间的移动,因为这可以使不同计算机上的游戏速度保持一致。

顺便说一句,已经有所谓的游戏引擎提供了这样的更新渲染循环。例如 XNA,如果您使用 .NET 行。您也可以编写自己的引擎代码,但请注意,这不是一件容易的事,而且非常耗时。我这样做过一次,不希望它成为像 Source 引擎那样的引擎 ;-)

关于model-view-controller - 俄罗斯方 block 和漂亮的图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/892244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com