
Unity热更新
文章平均质量分 72
宏哥1995
希望能参与到一个伟大游戏的制作中
展开
-
[Unity热更新]lua基础(二)
五.函数多重返回值:lua允许函数返回多个结果。根据情况,函数返回值的个数也不同a.若将函数作为表达式的一部分来调用时,只保留函数的第一个返回值b.当一个函数调用是一系列表达式中的最后一个元素(或仅有一个元素)时,才能获得函数的所有返回值这里的"一系列表达式"在lua中表现为4种情况:多重赋值、函数调用时传入的实参列表、table的构造式和return语句functio转载 2015-11-10 14:43:30 · 2507 阅读 · 0 评论 -
[Unity热更新]lua基础(五)
十一.错误处理1.assert(发生错误时会中断程序)--如果第一个参数为false,则输出第二个参数(即错误信息)--assert(1 < 0, "a error!!")--发生错误,错误信息为"a error!!"--如果第一个参数为false,则输出true和错误信息local a,b = assert(1 > 0,"错误信息!!")print(a);--trueprin原创 2016-04-04 17:44:17 · 2170 阅读 · 0 评论 -
[Unity热更新]tolua# & LuaFramework(十五):更新下载(下)
继续承接上一篇:http://blog.youkuaiyun.com/lyh916/article/details/52201952上一篇是使用OnGUI展示的,这次用lua改写一下。效果图:一.创建lua模板找到unity安装目录\Editor\Data\Resources\ScriptTemplates,把下面两个模板文件放进去,重启unity,即可方便地创建lua原创 2016-08-15 20:43:02 · 5726 阅读 · 1 评论 -
[Unity热更新]tolua# & LuaFramework(六):网络通信
一.客户端AppConst:设置要连接的服务器IP地址和端口号,当要测试更新时,默认使用的是WebUrlSocketClient成员:NetworkStream outStream:负责输出MemoryStream memStream:负责接收,存储所有接收到的信息BinaryReader reader:对MemoryStream中的信息进行读取byte原创 2016-04-09 00:43:54 · 10101 阅读 · 4 评论 -
[Unity热更新]tolua# & LuaFramework(九):网络通信实例
最近老师布置了一个作业,是做一个21点游戏,既可以跟AI玩,也可以进行网络对战。对于网络这块,因为最近接触了LuaFramework,它在通信方面也进行了一层封装,看了一下,觉得还是挺不错的,所以就打算用它来搞。因为客户端和服务器端的工程体积挺大的,所以就不放出来了。其实模仿框架中的例子已经可以做出很多东西了,所以这里就说一下额外的比较关键的东西。游戏截图:原创 2016-04-26 16:49:02 · 5674 阅读 · 5 评论 -
[Unity热更新]tolua# & LuaFramework(十):扩展工具包
这个工具包有以下功能:1.提供一个资源打包工具。因为LuaFramework默认对例子中的资源进行打包,不具有通用性,因此要有这样一个工具,详细的见系列二。2.提供一个工具简化编写lua文件的步骤。按照LuaFramework的规定,如果要添加一个Panel,那么就要编写对应的Controller、View,以及修改三个框架自带的lua文件,比较繁琐,因此要有这样一个工具提高效率。原创 2016-05-08 14:44:39 · 5402 阅读 · 1 评论 -
[Unity热更新]tolua# & LuaFramework(二):打包工具
1.资源的创建注意一下命名规则,一个面板及其相关的东西都放在同一个文件夹中,如果文件夹命名为xxx,则面板预制要命名为xxxPanel2.打包以文件夹为单位进行打包,打包类为Packager.cs。这里要打包的东西分两种,一种为图片等资源,另一种为代码资源(即lua脚本)。对lua脚本的打包已经被框架搞好了,不需要我们考虑,我们要考虑的是对前者的打包,详细的见Packager.原创 2016-03-30 22:36:56 · 10554 阅读 · 3 评论 -
[Unity热更新]tolua# & LuaFramework(十三):导出apk
其实导出apk的步骤很简单,就是:1.设置AppConst.LuaBundleMode为true。这样就会将lua代码打包成.unity3d2.点击菜单栏LuaFramework/Build Android Resource。这里注意的是,在Build的时候,StreamingAssets文件夹的东西会先被清空,所以注意好备份有可能会提示Found plugins with原创 2016-08-12 14:54:58 · 7173 阅读 · 1 评论 -
[Unity热更新]tolua# & LuaFramework(八):更新下载(上)
效果图:未更新前的:重新启动后:更新流程分析:1.找到GameManager.cs,这个类包含了解包和更新下载的操作,所以很值得分析一下。找到CheckExtractResource方法,如果是第一次运行游戏,则进行解包;否则就跳过解包流程。无论是哪种情况,最终都会开启协程,执行OnUpdateResource方法。此时如果AppConst.UpdateMo原创 2016-04-16 18:06:13 · 8569 阅读 · 5 评论 -
[Unity热更新]tolua# & LuaFramework(十二):基础补充
参考:https://www.zhihu.com/people/pyluo/posts一.在lua中输出信息:print("hello ") ;LuaFramework.Util.Log("World"); 其中Util这个类封装了很多实用的方法供lua调用,值得去看一下~二.重要的常量1.Util.AppContentPath():游戏包资源目录转载 2016-07-30 11:08:12 · 8278 阅读 · 0 评论 -
[Unity热更新]tolua# & LuaFramework(十四):更新下载(中)
承接上一篇:http://blog.youkuaiyun.com/lyh916/article/details/51146693上一篇基本实现了更新下载,很多时候,我们还需要将更新文件数,下载速度等信息显示在界面上,所以这篇就说下怎么做。效果图:Ps:上面的下载速度为Infinity(无穷大),具体原因不明,估计是我使用的是编辑器链接本地服务器,而且更新的文件很小,所以就快原创 2016-08-14 16:29:41 · 5935 阅读 · 0 评论 -
[Unity热更新]lua常用库
参考:http://www.cnblogs.com/superchao8/archive/2011/06/20/2085023.htmlhttp://blog.youkuaiyun.com/goodai007/article/details/8076141http://www.cnblogs.com/whiteyun/archive/2009/08/10/1543139.html转载 2016-12-11 21:57:18 · 3734 阅读 · 1 评论 -
[Unity热更新]lua基础(一)
一.注释--这是行注释--[[这是块注释这是块注释这是块注释--]]--如果想取消块注释,只需将 --[[ 改为 ---[[转载 2015-11-08 23:41:53 · 3955 阅读 · 0 评论 -
[Unity热更新]tolua# & LuaFramework(十一):实践
Unity版本:5.3.2LuaFramework版本:2016-07-161.下载NGUI版本的LuaFramework,并将其合并到新的unity工程中,导入工具包到工程中。按照http://blog.youkuaiyun.com/lyh916/article/details/51015156所说的,修改一下源码。2.资源的准备。如图,将工具包的Resources下的预制物拖到指定原创 2016-07-28 23:51:36 · 4821 阅读 · 1 评论 -
[Unity热更新]tolua# & LuaFramework(三):lua使用list与事件委托
1.在Assets\LuaFramework\Editor下有CustomSettings.cs,可以将c#类或者枚举注册到lua中,供lua调用2.当在lua中调用c#的方法,提示参数错误时,可以到对应的wrap文件中看方法需要什么参数3.当需要生成wrap文件时,不要忘了点击菜单栏Lua/Generate All;当修改了lua文件等资源后,不要忘了点击菜单栏LuaFramework/原创 2016-04-02 17:59:50 · 9738 阅读 · 2 评论 -
[Unity热更新]动态加载
参考链接:http://www.xuanyusong.com/archives/1919原创 2015-11-17 22:19:33 · 5662 阅读 · 1 评论 -
[Unity热更新]unity5中的assetbundle
参考链接:http://liweizhaolili.blog.163.com/blog/static/16230744201541410275298/http://liweizhaolili.blog.163.com/blog/static/162307442015282017852/http://itfish.net/article/35172.html简转载 2015-11-13 13:54:46 · 5563 阅读 · 2 评论 -
[Unity热更新]更新lua脚本 (一)
参考链接:http://www.manew.com/thread-39343-1-1.html?_dsign=334770ed一、创建lua脚本模板在\Editor\Data\Resources\ScriptTemplates目录下可以看到各种的模板文件,模仿命名格式"数字-右键菜单项的名字-默认文件名字.txt",创建文件,然后重启unity,就可以像平时新建脚本一样,新建自原创 2016-03-03 16:23:22 · 4753 阅读 · 0 评论 -
[Unity热更新]更新lua脚本 (二)
unity中的四种路径:http://www.manew.com/forum.php?mod=viewthread&tid=21404&extra=page%3D1%26filter%3Dtypeid%26typeid%3D143&_dsign=12bde134http://www.manew.com/thread-23491-1-1.html?_dsign=451c13c5原创 2016-03-04 23:53:43 · 4888 阅读 · 0 评论 -
[Unity热更新]lua基础(三)
七.编译我们知道一个lua文件是作为一个代码块(chunk)存在的,其实质就是一个函数。因此可以在一个lua文件中调用另一个lua文件。1.loadfile(只编译不运行)--Test.luaprint("hello");function hehe() print("hehe");endloadfile("Test.lua")print("end")转载 2015-11-14 16:06:26 · 2272 阅读 · 1 评论 -
[Unity热更新]调试lua
ulua插件自带的例子挺好的,收藏一下方便以后查阅~当前使用的ulua版本是1.08,unity版本是4.6.3。01_HelloWorldusing UnityEngine;using System.Collections;using LuaInterface;public class HelloWorld : MonoBehaviour { // Use thi原创 2015-04-13 14:39:02 · 6138 阅读 · 0 评论 -
[Unity热更新]tolua# & LuaFramework(四):读取数据
效果图:这里的逻辑就是:1.选择区域后,如果选择副本的界面没有实例化,那么就实例化并且刷新数据;否则将隐藏的界面显示并且刷新数据。界面初次实例化后读取数据。2.刷新数据的过程就是,根据选择的区域挑选对应的数据,并将数据绑定到UI上,给UI换图片。当点击UI时就把绑定到UI的数据输出。加载完的图片该给哪个UI呢?这里我设置了一个index,逐一赋值给界面的UI列表就可原创 2016-04-03 16:27:57 · 5033 阅读 · 1 评论 -
[Unity热更新]tolua# & LuaFramework(七):lua使用DOTween
相关链接:http://blog.youkuaiyun.com/u010665359/article/details/50950989http://blog.youkuaiyun.com/u010665359/article/details/51013433在lua中使用DOTween1.先下载一些东西:http://pan.baidu.com/s/1pLOSxx52.在Ass转载 2016-04-11 08:49:24 · 15333 阅读 · 7 评论 -
[Unity热更新]tolua# & LuaFramework(五):.proto转换为.lua
这次介绍一下在LuaFramework中,将.proto文件转化为.lua文件的步骤1.Python的下载与安装下载:https://www.python.org/downloads/ (推荐选择2.x版本)安装:http://www.runoob.com/python/python-install.html2.下载protoc-gen-lua.zip并原创 2016-04-07 21:52:13 · 8363 阅读 · 14 评论 -
[Unity热更新]tolua# & LuaFramework(一):基础
lua调用c#c#调用lua:LuaState[变量名/函数名]1.LuaStatea.执行lua代码段DoString(string)DoFile(.lua文件)Require(.lua文件(但没有.lua后缀))b.获取lua函数或者表LuaFunction func = lua.GetFunction(函数名);原创 2015-04-13 09:40:42 · 32190 阅读 · 1 评论 -
[Unity热更新]lua基础(四)
九.面向对象编程在lua中,可以使用table来表示"类":--基类Account--定义变量balance--定义方法new,deposit,withdraw--self是lua的关键字,类似于this,指调用者本身,如Account:new,self就是指Account;如a:deposit,self就是指a--Account:deposit(v)的另一种写法为:Accou转载 2015-11-14 21:55:25 · 2030 阅读 · 0 评论