当前位置: 首页 > news >正文

临沂经开区建设局网站应该知道的网站

临沂经开区建设局网站,应该知道的网站,安徽一方建设招标网站,公司做网站一定要钱吗文章目录 前言MVC基本概念示例流程图效果预览后话 前言 在Unity中,MVC(Model-View-Controller)框架是一种架构模式,用于分离游戏的逻辑、数据和用户界面。MVC模式可以帮助开发者更好地管理代码结构,提高代码的可维护性…

文章目录

    • 前言
    • MVC基本概念
    • 示例
    • 流程图
    • 效果预览
    • 后话

前言

在Unity中,MVC(Model-View-Controller)框架是一种架构模式,用于分离游戏的逻辑、数据和用户界面。MVC模式可以帮助开发者更好地管理代码结构,提高代码的可维护性和可扩展性。

MVC基本概念

  1. Model(模型)
  • 职责:管理应用程序的数据逻辑和业务规则。它独立于视图和控制器,不直接处理用户输入。
  • 示例:游戏中的角色属性(如生命值、得分)、配置文件、数据持久化。
  1. View(视图)
  • 职责:负责用户界面的呈现和显示数据。它从模型获取数据,并显示给用户。
  • 示例:UI面板、按钮、文本框、动画展示。
  1. Controller(控制器)
  • 职责:处理用户输入,并将其转换为模型和视图的操作。它连接模型和视图,并控制它们之间的交互。
  • 示例:响应按钮点击、处理输入事件、调用模型的更新方法。

示例

先搭建个UI

  • PlayerModel.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;public class PlayerModel
{private int level;public int Level{get { return level; }}private int money;public int Money{get { return money; }}// 单例模式,确保数据唯一性private static PlayerModel instance;public static PlayerModel Instance{get{if (instance == null){instance = new PlayerModel();// 创建实例初始化instance.Init();}return instance;}}private event UnityAction<PlayerModel> updateEvent;public void Init(){// 初始化数据,一般在这里读取表配置啥的level = 1;money = 100;}public void LevelUp(){level++;SaveInfo();}public void AddMoney(int num){money += num;SaveInfo();}public void SaveInfo(){// 保存数据并更新Debug.Log("SaveInfo");UpdateInfo();}public void UpdateInfo(){// 更新数据的时候给Controller发通知updateEvent?.Invoke(this);}public void AddUpdateEvent(UnityAction<PlayerModel> action){updateEvent += action;}public void RemoveUpdateEvent(UnityAction<PlayerModel> action){updateEvent -= action;}
}
  • PlayerView.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class PlayerView : MonoBehaviour
{// 先绑定UIpublic Text levelText;public Text moneyText;public void UpdateView(PlayerModel playerModel){// View 负责显示数据,不负责逻辑levelText.text = playerModel.Level.ToString();moneyText.text = playerModel.Money.ToString();}
}
  • PlayerController.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class PlayerController : MonoBehaviour
{// 绑定Viewpublic PlayerView playerView;// 绑定Buttonpublic Button moneyBtn;public Button levelBtn;private void Start(){// 把View的更新方法绑到Model的通知列表里PlayerModel.Instance.AddUpdateEvent(playerView.UpdateView);// 绑定Button的点击事件levelBtn.onClick.AddListener(PlayerModel.Instance.LevelUp);moneyBtn.onClick.AddListener(PlayerModel.Instance.AddMoney);}
}
  • 绑定组件


流程图

效果预览


后话

通过这种分离模式,我们将数据处理、用户交互和显示逻辑分离开来,使得代码更易于管理和维护。后期可以根据需要扩展这些基本类,例如增加更多的 UI 元素或更复杂的交互逻辑。

enjoy it ~

http://www.yayakq.cn/news/806040/

相关文章:

  • saas 平台架构做网站青岛网站设计哪家公司
  • 网站建网站建设企业互联网运营是什么工作
  • 建设银行网站上不去了网络平台怎么做
  • 中国保密在线网站培训系统wordpress页面参数
  • 品牌网站建设工作室梅州建站塔山双喜
  • 网站关键字 怎么设置咸宁网站建设哪家好
  • 网站公司 模板国外做外链常用的网站
  • 电商网站推广常见问题遵义一般做一个网站需要多少钱
  • 哈尔滨快速建站合作电商运营网站设计
  • wordpress网站搬迁wordpress博客页面显示文章在哪
  • 做网站需要硬件软件如何做旅游休闲网站
  • 现在做网站用什么程序浙江金华市建设局网站
  • 企业网站建设分工游戏推广可以做吗
  • 网站建设岗位网站域名重定向怎么做
  • wordpress做购物网站企业微网站
  • 蓝色系网站首页如何利用国外分类网站开发客户
  • php网站建设培训网站建设与管理就业前景
  • 网站项目签约免费网站你知道我的意思的
  • 镇江整站优化关于建设教体局网站的申请
  • 哪里有建设好的网站电子商务网站建设教学大纲
  • 接网站建设的单子哪里有学做ppt的网站
  • 拼团购物网站怎么做平台设计是什么意思
  • 这样建立网站深圳婚庆网站建设
  • 上饶市建设局有什么网站中天建设集团有限公司山东分公司
  • php class 做网站wordpress自定义分享
  • 可以打开任何网站的软件济南房产信息网官网
  • 网站响应式与电脑版有什么区别宜昌网站建设制作公司
  • dedecms网站后台很卡成都装修网
  • 郑州知名网站建设wordpress适合
  • 网站访问量咋做网站建设流程与步骤