Jtro的技术分享:MVC框架

作者: UnityPlane | 来源:发表于2017-10-19 20:27 被阅读164次

MVC框架历史悠久了,具体多久我也不知道,但是在游戏开发中的UI 使用太普遍了,最近我的一个徒弟跟我抱怨说网上的mvc框架晦涩难懂,看了一下午看不出所以然来,我比较难过,一方面是现在的年轻人都比较懒了,区区一下午看不懂框架就抱怨了,一方面是堂堂Unity帝国的大牛们写不出一个简单易懂的框架??所以我为大家准备这篇文章。已经是最简单的模式了。希望帮到一些徘徊在mvc门外的人。
好了,先来看看什么是mvc框架,代码之间是如何通讯的。


mvc框架图,来自百度百科

这里讲的很详细,请务必看懂这图。

然后打开UNITY ,我的版本是2017.2.0.f3.
新建UI画布,新建一个txt文本框,一个按钮,建立好如图:

文本框和按钮

再新建一个空物体,命名为controller。新建3个脚本,分别命名为:Modle、View、Controller。
首先打开Modle输入以下代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//声明委托
public delegate void OnAddNum (int num);
public class Modle {
//声明修改的数字
private int number;
//声明委托对象
public OnAddNum OnNumChange;
//单例
private static Modle mod ;
public static Modle SigleMod ()
{
if (mod == null){
mod = new Modle ();
}
return mod;
}
//单例结束
//数字属性
public int Number {
get {
return number;
}
set {
number = value;
if (OnNumChange != null)
{
OnNumChange (number);
}
}
}
}

然后打开Controller脚本输入以下代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Contrller : MonoBehaviour {
public static Contrller controller;
private int Dlengt = 5;
void Awake ()
{
controller = this;
}
// Use this for initialization
void Start () {
Modle.SigleMod ().Number = 0;
}
//按钮的点击事件
public void OnBtn ()
{
Modle.SigleMod ().Number += Dlengt;
}
}
接着打开View输入以下代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine .UI ;
public class View : MonoBehaviour {
public Text NumText;
public Button BTN;
// Use this for initialization
void Start () {
Modle .SigleMod ().OnNumChange += SetNumber;
BTN.onClick.AddListener (Contrller.controller.OnBtn);
}
public void SetNumber (int num)
{
NumText.text = num.ToString ();
}
}
然后保存退出Mono

然后点击Controller,将View和Controller脚本挂载在上面。再将text组件和button组件分别挂载在NumText和BTN上。
OK,做完以上的步骤,运行一下,点击按钮text中的数就会+5.

最后,感谢简书,感谢读完的你。

相关文章

  • Jtro的技术分享:MVC框架

    MVC框架历史悠久了,具体多久我也不知道,但是在游戏开发中的UI 使用太普遍了,最近我的一个徒弟跟我抱怨说网上的m...

  • 无标题文章

    Web项目聚集地 资源分享,技术交流 环境搭建 今天我们来学习Spring MVC框架,首先为大家讲解MVC架构思...

  • Spring MVC基础

    Spring MVC基础 Spring MVC是基于Model 2实现的技术框架,Model 2是经典的MVC模型...

  • SSH框架

    1.概述 SSH框架:Struts框架,基于MVC模式的应用层框架技术。Hibernate: 基于持久层的框架(数...

  • MVC框架

    MVC框架是经典的技术架构,以下是针对产品经理对MVC框架的浅层理解。 Model(M):模型结构层 View(V...

  • web应用

    涉及到许多技术栈的技术选型,前端mvc模式的js开发框架vue,react,angular。 ui框架vant,v...

  • java

    前端:bootstrap JavaScript jQuery后端:ORM技术,MVC模式,开源框架,spring

  • Spring MVC书目录

    MVC历史 MVC概念 为什么会出现MVC框架 常用的MVC框架 MVC模型的发展轨迹 简述Spring MVC的...

  • Jtro的技术分享:ShaderLab开发(一)

    说在最前 首先,我不介绍shader干嘛的以及有什么用,直接都是干货。 那么首先从在unity中创建一个shade...

  • Jtro的技术分享:c#多态

    多态的作用就是把不同的子类都当作父类来看,通过继承实现不同的不同对象相同方法,表现出不同的行为,写出通用的代码,做...

网友评论

    本文标题:Jtro的技术分享:MVC框架

    本文链接:https://www.haomeiwen.com/subject/diypuxtx.html