Unity——用MVC分层实现"添加数字"案例
1. 代码实现的方法
1-1. 一般的实现
一个功能模块的代码全部堆在一个脚本里面实现,耦合性高。
1-2. MVC分层实现
数据处理(Model数据模型)
显示部分(View视图)
逻辑控制(Controller控制器)
2. MVC的简单概念
C:控制器,负责流程控制和事件响应
V:视图,负责图形交互
M:数据模型,负责数据处理
3. MVC的开发步骤
- 场景搭建
- 创建处理数据的脚本(M)
根据控制器的需要在模型脚本中创建对应的方法来让其调用。 - 创建显示部分的脚本(V)
包括文本的显示,图片的显示。 - 创建逻辑控制的脚本(C)
包括生命周期函数,逻辑控制语句。
4. 案例(使用json保存数据)
4-1. 使用一般的代码实现方法来实现简单的加数字(耦合性高)
- 搭建好场景
- 创建脚本(挂载在Panel上)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.IO;
// json文件的模型类
[System.Serializable]
public class Data
{
public int num;
}
public class SimpleMethod : MonoBehaviour
{
// json文件的路径
private string path;
// 数字文本
private Text numText;
// 添加数字的按钮
private Button btn;
private void Awake()
{
// 获取数字文本
numText = transform.Find("Image/Text").GetComponent<Text>();
// 获取按钮
btn = transform.Find("Button").GetComponent<Button>();
// 创建json文件路径
path = Application.persistentDataPath + "/data.json";
}
private void Start()
{
// 给按钮添加点击时间
btn.onClick.