用Unity同时开发【微信小游戏】【安卓】【IOS】游戏#7.1.2.1 交互逻辑与表现逻辑

【系列文章目录】


文章目录

  • 【系列文章目录】
  • 前言
  • 一、交互逻辑与表现逻辑
  • 二、Command模式
  • 三、表现逻辑优化
  • 1.数据驱动
  • 2.如何实现数据驱动
  • 三、总结


前言

上一篇介绍了模块化的思想

这一篇我们来思考一下如何将交互逻辑与表现逻辑分离


一、交互逻辑与表现逻辑

  • 交互逻辑:指的是当用户操作之后,程序需要处理的逻辑,例如

    • 控制人物移动
    • 点击开启某个界面的按钮
  • 表现逻辑:指的是如何将游戏内容呈现给用户,例如:

    • 人物移动表现
    • 打开某个界面

二、Command模式

Command定义:
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。

用通俗的话来说,Command模式就是将用户的操作先进行封装成一个对象

然后在用户操作的时候,我们调用这个对象即可

这种模式即使是Unity的底层也大量用到

属于之前没提到过的对象之间交互的方式,但它仅适用于交互逻辑

三、表现逻辑优化

1.数据驱动

数据驱动编程的核心:驱动编程的核心出发点是相对于程序逻辑,人类更擅长于处理数据。数据比程序逻辑更容易驾驭,所以我们应该尽可能的将设计的复杂度从程序代码转移至数据。

通俗来说就是我们应该尽可能只处理数据,而表现逻辑应该交由程序来控制

2.如何实现数据驱动

我们可以将基础数据类型进行封装,并且给他设计一套事件机制

当数据变化时调用事件,通知所有订阅了该事件的表现层对象

三、总结

综上所述,我们对于交互逻辑与表现逻辑的优化思路为

  • 表现逻辑:使用数据驱动,将表现逻辑绑定到数据变化的事件上
  • 交互逻辑:使用Command模式,将用户的操作定义为一个个的命令对象

你可能感兴趣的:(游戏,unity)