文档章节

Unity前端UI和web前端的React

李勇2
 李勇2
发布于 2017/04/07 23:41
字数 339
阅读 133
收藏 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

粉丝 46
博文 189
码字总数 62209
作品 0
广州
程序员
KBEngine开源mmog服务端引擎

KBEngine是一款开源mmog服务端引擎, 使用统一协议能够轻松与前端对接,能轻松使用unity3d、 ogre、 cocos2d、 html5等作为前端表现。 一款开源的游戏服务端引擎,使用简单的约定协议就能够使...

shezjl
2015/05/18
0
0
开源游戏玩家配对项目 - Open Match

Google Cloud 和 Unity 联合宣布了一项名为 Open Match 的开源玩家配对项目,该项目允许游戏开发者专注于玩家配对逻辑,而无需从头开始为每个游戏构建完整的配对系统。 Open Match 项目包括三...

匿名
09/17
0
0
kbengine mmo源码(完整服务端源码+资源+完整客户端源码)

本项目作为kbengine服务端引擎的客户端演示而写 更新kbengine插件库(https://github.com/kbengine/kbengineunity3dplugins): * 使用git命令行,进入到kbengineunity3dwarring目录执行: git s...

qibawangla
2015/03/18
0
0
谷歌云联合 Unity 开源 Open Match 玩家配对方案

Google Cloud 和 Unity 联合宣布了一项名为 Open Match 的开源玩家配对计划,该计划允许游戏开发人员专注于玩家配对逻辑,而无需从头开始为每个游戏构建完整的配对系统。 Open Match 项目包括...

达尔文
09/17
0
4
如何把UGUI当做一个插件使用(删除Unity中的UGUI,导入UGUI源码进入项目)

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

qq826364410
05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue学习资料

一直以为Vue是依赖nodejs的。 作为前端也可以耦合性就很低了。 //npm包管理器 进行管理npm install vue//初始化一个项目vue init//本地调试npm run dev//编译完成 ...

大灰狼wow
25分钟前
1
0
fullcalendar重新渲染

uiCalendarConfig.calendars.lesson_calendar.fullCalendar('removeEvents');var ym = uiCalendarConfig.calendars.lesson_calendar.fullCalendar('getView').title;$scope.get_lesson(y......

人来疯啊
29分钟前
1
0
多渠道打包总结

https://www.jianshu.com/p/2130db7584c8 https://blog.csdn.net/u011153817/article/details/50772496...

塔塔米
38分钟前
1
0
android -------- Data Binding的使用 ( 六) 自定义属性

今天来说说DataBinding在自定义属性的使用 默认的android命名空间下,我们会发现并不是所有的属性都能直接通过data binding进行设置,比如margin,padding,还有自定义View的各种属性。 默认...

切切歆语
45分钟前
1
0
收邮件 下载附件

uses IdMessage, IdMessageParts, IdAttachment, IdGlobalProtocols, ...;procedure SaveAttachmentsFromFile(FileName: String)var IdMessage: TIdMessage; MsgPart: Ti......

vga
51分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部