文档章节

Unity前端UI和web前端的React

李勇2
 李勇2
发布于 2017/04/07 23:41
字数 339
阅读 119
收藏 0
点赞 0
评论 0

游戏前端UI的开发和Web前端开发比较类似

Web中主要是矢量图的使用,而游戏中图素基本靠图片来提供

react设计基本思路,将UI的 状态和 View层分离开,操作只能修改state状态,通过immutable这个库,将状态做成 不可变的,这样就能简单的获得两个状态之间的差异,而通过状态的差异来具体影响UI的变化

这样的分离的好处,提高了代码的可读性,提高了代码的可维护性

早期的web前端UI,主要通过随意的动态操作dom来实现ui功能,代表人物就是jquery,而ui的状态和view则是用户自己控制。web ui本身也缺乏组件化的概念。

在react中每个ui组件,有自己的state,以及render函数,根据state的变化,render不同的内容,而代码只能去setState改变状态

https://www.ibm.com/developerworks/library/wa-react-intro/

在Unity的UI脚本中,也将state 和 render分离开,可以提高ui逻辑的可读性,提高可维护,可复用的能力。 uiGameObject--》ui脚本 GetInitialState Render 渲染内容 ButtonClicked SetState

mixins 组合UI 组件,以及持有状态,将状态在多个UI组件之间进行转移

© 著作权归作者所有

共有 人打赏支持
李勇2

李勇2

粉丝 45
博文 188
码字总数 62209
作品 0
广州
程序员
如何把UGUI当做一个插件使用(删除Unity中的UGUI,导入UGUI源码进入项目)

最近闲着没事,一直也都知道UGUI是开源的,所以就想着把UGUI的源代码放到Unity里面,看一看能不能用,经过一番调试,终于弄好了,有兴趣的同学可以看一下,欢迎交流沟通。 欲练神功,必先自宫...

qq826364410 ⋅ 05/09 ⋅ 0

Unity网页数据交互基本原理

1. u3d是一个3D游戏引擎由于和编辑器集成在一起 所以也可以理解为一个制作/开发平台 2. u3d使用javascript C#作为核心脚本语言 来驱动整个游戏引擎 3. 平台可以发布为Exe执行文件或者打包为供...

qq_30279553 ⋅ 04/22 ⋅ 0

Unity3D - 图片资源导入的一些基础知识

在上一篇文章里 Unity3D - 你导入的资源,并不是Unity使用的资源 介绍过,Unity使用的资源是你无法直接操作的,那么对于图片资源,我们应该如何去处理和优化工作流程呢? 图片资源的分类 在U...

qq_17758883 ⋅ 04/11 ⋅ 0

放个大招,招聘的招

直接说正事,放个大招,招人的招!!BIM这么火,需求这么热,让我们干起来,创造美好世界的同时实现个人价值,买车、买房、实现财务自由、赢取白富美~,想想都有点小激动~ 会有小伙伴问,BIM...

史迪奇2号 ⋅ 2017/06/05 ⋅ 0

Rider 2018.1 发布,.NET 跨平台集成开发环境

Rider 2018.1 发布,新版本增加了许多新功能,改进和修复。 更新内容: Roslyn analyzers: in addition to Rider’s own 2400 code inspections to help you detect errors and code smells......

周其 ⋅ 04/20 ⋅ 0

Unity3D利用Webservice读取数据库

相信大家从事Unity3D开发的,无论是做单机的还是做网游的,特别是稍微大点的项目,都会用到数据库,但是网络上关于Unity3D如何连接数据库的教程少之甚少,搜来搜去无非是那篇Unity3D如何连接...

qq_30279553 ⋅ 04/22 ⋅ 0

Unite Beijing 2018|行业应用精彩议题曝光

我们不久之前为大家提前曝光了部分大会精彩技术议题,引起了大家的广泛关注。作为世界顶尖的内容创作引擎,Unity不仅仅可用于跨平台的游戏开发,越来越多的开发者将Unity运用到制造业,汽车,...

weixin_41849687 ⋅ 04/20 ⋅ 0

Unity3D 单片草顶点摆动

Shader "MobileShadow/Grass" { Properties { MainTex ("MainTex", 2D) = "white" {} AlphaR ("AlphaR", 2D) = "white" {} Settings ("Settings", Vector) = (1.5,0.1,0.5,0) } SubShader { ......

yuyingwin ⋅ 05/09 ⋅ 0

Unity2018新功能抢鲜 | Package Manager

本文首发于“洪流学堂”微信公众号。 洪流学堂,让你学Unity快人几步 一个包是一个容器,它可以包含各种资源的组合:shader、纹理、插件、图标、脚本等,可以增强项目的各个部分。相对于Ass...

zhenghongzhi6 ⋅ 04/21 ⋅ 0

Unite Beijing 2018 | 技术专场部分精彩议题曝光

离5月11-13日的Unite Beijing 2018的开幕仅剩一个半月了,届时来自全球的Unity技术达人,行业精英和全球合作伙伴将为你带来史无前例的80余场技术演讲,内容涵盖Unity跨平台内容开发经验,标杆...

weixin_41849687 ⋅ 04/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Greys Java在线问题诊断工具

Greys是一个JVM进程执行过程中的异常诊断工具。 在不中断程序执行的情况下轻松完成JVM相关问题排查工作 目标群体 有时候突然一个问题反馈上来,需要入参才能完成定位,但恰恰没有任何日志。回...

素雷 ⋅ 24分钟前 ⋅ 0

git从远程仓库拉取代码的常用指令

一种(比较麻烦的)拉代码的方法 git clone //克隆代码库,与远程代码库的主干建立连接,如果主干已经在就不用再clone啦,克隆路径为当前路径下的新创建的文件夹 git checkout -b //本地建立...

Helios51 ⋅ 38分钟前 ⋅ 0

005. 深入JVM学习—Java堆内存参数调整

1. JVM整体内存调整图解(调优关键) 实际上每一块子内存区域都会存在一部分可变伸缩区域,其基本流程:如果内存空间不足,则在可变的范围之内扩大内存空间,当一段时间之后,内存空间不紧张...

影狼 ⋅ 43分钟前 ⋅ 0

内存障碍: 软件黑客的硬件视图

此文为笔者近日有幸看到的一则关于计算机底层内存障碍的学术论文,并翻译(机译)而来[自认为翻译的还行],若读者想要英文原版的论文话,给我留言,我发给你。 内存障碍: 软件黑客的硬件视图...

Romane ⋅ 今天 ⋅ 0

SpringCloud 微服务 (七) 服务通信 Feign

壹 继续第(六)篇RestTemplate篇 做到现在,本机上已经有注册中心: eureka, 服务:client、order、product 继续在order中实现通信向product服务,使用Feign方式 下面记录学习和遇到的问题 贰 or...

___大侠 ⋅ 今天 ⋅ 0

gitee、github上issue标签方案

目录 [TOC] issue生命周期 st=>start: 开始e=>end: 结束op0=>operation: 新建issueop1=>operation: 评审issueop2=>operation: 任务负责人执行任务cond1=>condition: 是否通过?op3=>o......

lovewinner ⋅ 今天 ⋅ 0

浅谈mysql的索引设计原则以及常见索引的区别

索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针. 数据库索引的设计原则: 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索...

屌丝男神 ⋅ 今天 ⋅ 0

String,StringBuilder,StringBuffer三者的区别

这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 首先说运行速度,或者说是, 1.执行速度 在这方面运行速度快慢为:StringBuilder(线程不安全,可变) > StringBuffer...

时刻在奔跑 ⋅ 今天 ⋅ 0

java以太坊开发 - web3j使用钱包进行转账

首先载入钱包,然后利用账户凭证操作受控交易Transfer进行转账: Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/Credentials credentials = Wallet......

以太坊教程 ⋅ 今天 ⋅ 0

Oracle全文检索配置与实践

Oracle全文检索配置与实践

微小宝 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部