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

作弊的网站广州云建站模板

作弊的网站,广州云建站模板,网站推广软件下载安装免费,用境外服务器做网站概述 基于一个Unity的视频。学习了一下基本的MVC概念,并尝试在Godot中实现了一下。 原始的MVC: Godot中的MVC: Model、View和Controller各自应该实现的功能如下: Model: 属性(数据字段)数据存取方法数据更新信号 View: 控…

概述

基于一个Unity的视频。学习了一下基本的MVC概念,并尝试在Godot中实现了一下。

原始的MVC:

原始的MVC
Godot中的MVC:
Godot中的MVC,特点是独特的信号系统和节点系统​​​​​​

Model、View和Controller各自应该实现的功能如下:

Model:

  • 属性(数据字段)
  • 数据存取方法
  • 数据更新信号

View:

  • 控件节点引用
  • UI更新方法ui_update()

Controller:

  • 界面元素信号处理,比如按钮点击等
  • 调用View的界面更新方法

在Godot中实现:

Controller  //UI界面根节点,空的Control节点Model   //空的Control节点View    //容器或Control节点其他界面元素

MainView中:

  • 进行元素的引用
  • 编写ui_update()方法,参数dataMainModel类型

MainController中:

  • 进行元素的引用
  • 放置所有元素的信号处理函数
  • 放置MainModel的数据更新信号处理函数data_updated()

MainModel中:

  • 定义所需保存的数据字段
  • 定义数据的加载、更新以及保存方法
  • 定义data_updated()信号

实际测试

MVC测试场景

通常是一个界面分别对应一个Model、View和Controller。

为了方便管理,建立名为Model、View和Controller的文件夹。

文件构成

MainView

View只负责节点引用和实现一个界面更新方法:

# MainView
extends Control# UI节点引用
@onready var text_edit: TextEdit = %TextEdit# 界面更新方法
func ui_update(text:String):text_edit.text = text

MainModel

Model

  • 设计需要存储的数据字段
  • 数据存取方法
  • 定义数据更新信号
# MainModel
extends Controlsignal data_updated(text:String) # 数据更新信号# 保存路径
var path:String = ""# 数据字段
var text:String = ""# 保存数据
func save_data():var file = FileAccess.open(path,FileAccess.WRITE)file.store_string(text)file.close()# 加载数据
func load_data():if FileAccess.file_exists(path):text = FileAccess.get_file_as_string(path)emit_signal("data_updated",text)  # 触发数据更新信号

MainController

Controller

  • 将View的所有界面元素信号处理链接到Controller
  • 将Model的数据更新信号处理链接到Controller
  • 其他处理逻辑
# MainController
extends Control@onready var main_view: Control = %MainView
@onready var main_model: Control = %MainModel
@onready var text_edit: TextEdit = %TextEditfunc _ready() -> void:main_model.path = "data/mian.txt"main_model.load_data()# =============== 所有界面元素的信号处理  ===============
func _on_button_pressed() -> void:main_model.text = text_edit.textmain_model.save_data()# MainModel的数据更新信号
func _on_main_model_data_updated(text: String) -> void:main_view.ui_update(text)

总结

这只是一种粗略的实现和实践。将界面和处理逻辑分开是我之前在实践的事情,可以很好的减少UI场景中的代码。并且让逻辑可以以类的形式存在和复用。

MVC是一种更高层次的设计,将处理逻辑分为逻辑和数据两部分,并巧妙的通过信号和方法调用,完成了“UI交互-逻辑处理-数据存储”和“反向更新UI”的功能。

对MVC的认识和实践有自己的业余性,期望大佬指正错误。


文章转载自:

http://JQLYzInf.Lbbgf.cn
http://kN7Duuij.Lbbgf.cn
http://7TSrSL9C.Lbbgf.cn
http://jCuORpwY.Lbbgf.cn
http://MBE8CgAZ.Lbbgf.cn
http://o0p5LyoS.Lbbgf.cn
http://fHvIanKD.Lbbgf.cn
http://N64OtliX.Lbbgf.cn
http://7rLvyQEB.Lbbgf.cn
http://Z1cyetu4.Lbbgf.cn
http://rLZw2sT7.Lbbgf.cn
http://68sp2zTO.Lbbgf.cn
http://FLHn2Cjq.Lbbgf.cn
http://0psNT0z2.Lbbgf.cn
http://C2Cfl4M3.Lbbgf.cn
http://CWjzqmVO.Lbbgf.cn
http://CejTjsO5.Lbbgf.cn
http://JejJTnva.Lbbgf.cn
http://0cVWIsvU.Lbbgf.cn
http://OmisYBWY.Lbbgf.cn
http://IYaRGnBa.Lbbgf.cn
http://SOIf77Bz.Lbbgf.cn
http://zYtYnOyk.Lbbgf.cn
http://fWeVtSAK.Lbbgf.cn
http://esz2JOxD.Lbbgf.cn
http://zweieYhh.Lbbgf.cn
http://lPpS1OqQ.Lbbgf.cn
http://wvUNh7PF.Lbbgf.cn
http://6VOsLgik.Lbbgf.cn
http://WhQRVXBo.Lbbgf.cn
http://www.dtcms.com/wzjs/700307.html

相关文章:

  • 怎么做网站卖保险汕头免费建站哪里有
  • 如何做盗版电影网站商城网站一般用什么做二次开发
  • 建设网站建设方案服装网站建设的目的
  • 飞鸽网站建设wordpress 响应式 企业网站
  • 关于网站建设的博客WordPress上传后找不到
  • 房地产网站建设哪家好优秀的定制网站建设公司
  • 门户网站设计装修网站怎么做的
  • 电子商务网站设计岗位主要是比较有名的diy制作网站
  • 做网站公司汉狮网络semiconductor
  • 做一个网站花2万贵吗wordpress 密码失败
  • 做购物比价的网站有哪些网站建设怎么样工作室
  • 上海做网站比较有名的公司有哪些下载牛霸软件
  • 响应式网站解决方案查询网站的外链
  • 常州城投建设工程招标有限公司网站wordpress安装一下
  • 仙居网站开发东莞市专注网站建设公司
  • 免费网站注册申请电子商务网站调研报告
  • 手机怎么建立自己网站太原百度快照优化排名
  • 顺义区专业网站制作网站建设重庆seo海洋qq
  • 宁波网站优化公司哪家好提升学历励志语录
  • 十大免费货源网站免费版权新开传奇网站999新服网
  • 宜兴网站设计网站改版要重新备案
  • 凡科网建站教程自己做婚恋网站
  • 大沥网站建设制作小语种网站建设 cover
  • 个人网站推广平台大全百度网盘app下载安装手机版
  • 天台县建设规划局网站笔记本做网站
  • 佛山大良营销网站建设asp 网站 内容静态化
  • wordpress网站如何加百度搜索塘厦网站仿做
  • 高校网站建设招标公告中国好设计
  • 南通优普网站建设团队长沙专业网站设计平台
  • 中国网站建设网页设计wordpress企业建站教程