一。使用制作滑动列表:使用UILayout做虚拟列表ui.list = base:findcom("center/ScrollView/Viewport/Content", "UILayout") ui.list.onCreate = base.createrender ui.list.onUpdate = base.updaterender ui.list.ItemRenderer = Asse
转载 2024-04-13 12:11:58
68阅读
摘要 我们探讨 Lua5.0的主要特点:基于寄存器的虚拟机、散列表用做数组时 的新优化算法,闭包的实现以及协程的加入。 1. 介绍Lua 作为一个内部的软件开发工具,诞生于学院实验室,然而,不知何故, 很快被全世界的几个工业项目所采用,而且目前正被广泛运用于游戏行业。1 如何看待 Lua 被广泛使用的这种现象?我们认为,答案在于对Lua 的设计 和实现目标: 提供一种嵌入式的脚本编程语言, 它简洁
下载与安装下载地址 GitHub 安装过程1.下载最新版,这里, 解压缩,将Assets目录里的所有内容复制到你的工程中,对于最终产品,可以删除slua_src,例子,文档等内容,如果是开发阶段则无所谓。2.等待unity编译完毕,如果一切顺利的话,将出现slua菜单, 点击slua菜单中 All->Make 命令 手动生成针对当前版本的U3d接口文件。3.每次更新slua版本,务
转载 2024-03-28 13:37:28
26阅读
0. 照旧的碎碎念转眼间已经三月了,2月份的博客因为过年的懒惰和开年之后的忙碌而没有写……第二个月就打破了去年总结时对于2018年的愿望,真是羞耻呢……年后在准备新的测试版本,断断续续做了一些优化,更多的精力放在团队的绩效评估、沟通这样偏管理的事物上,说实话技术上可以聊的东西不多。近期看到UWA群里和问答上聊Lua的使用之类的话题比较多,也在看ET这套完全基于C#进行游戏开发的框架中提到——
转载 2024-04-15 12:43:12
34阅读
在上篇文章 Unity3D热更新之LuaFramework篇[01]--从零开始本篇将我会先介绍一下如何配置Lua开发环境,然后分析在此框架中加载面板的流程,以及如何创建自己的面板。1、配置Lua开发环境有一点要说明的是,使用此种方式(ToLua+LuaFramework)做热更新,则意味着你的大部分逻辑都需要改用Lua语言来编写。因此,开发前得先得配置好Lua开发环境。毕竟,工欲善其事
转载 2024-05-27 21:11:46
60阅读
网上有许多的LUAUnity插件,如toLua,uLua, sLua, xLua。 uniLua由于其复杂的集成使用过程,已经被主流所抛弃了。在对各个插件使用过之后,出此系列博客与大家分享一下心得。前面两篇计划说说toLua的那些事。toLua自己集成到项目里,下载地址:https://github.com/topameng/tolua步骤如下:1.复制assets目录到项目里2.复制Unity
转载 2024-03-31 07:58:48
41阅读
一、前言  目前在Unity游戏开发中,比较流行的两种语言就是Lua和C#。通常的做法是:C#做些核心的功能和接口供Lua调用,Lua主要做些UI模块和一些业务逻辑。这样既能在保持一定的游戏运行效率的同时,又可以让游戏具备热更新的功能。无论我们有意或者无意,其实我们经常会在Unity游戏开发中使用到闭包。那么,马三今天就要和大家来谈谈Lua和C#中的闭包,下面首先让我们先来谈谈Lua中的闭包。二、
转载 2024-06-13 07:22:23
99阅读
五邑隐侠,本名关健昌,12年游戏生涯。 本教程以 Unity 3D + VS Code + C# + xlua 为例。 如果你还没有编程基础,建议你先学习一些编程基础。本文不是完全菜鸟教程,主要针对有其他语言经验的开发者,如果想看菜鸟教程,建议看菜鸟教程的 Lua教程。先看一个简单类的代码1 ---@class BsnsPack @Base class of business
转载 2024-04-25 19:48:21
200阅读
U3D自带Mono开发工具实在是太坑了 无法吐槽,简直就是软件垃圾(而且高版本U3D也无法自带了). 平时自己开发大多用的是VSCode 因为小而且通用性高,但是缺点呢会针对性配置环境 会踩无数个坑 本篇文章也是为了记录踩坑过程,避免让大家少走弯路.1.第一步先下载VSCode. 然后安装(这个默认大家都会)2.安装好后打开VSCode  这个时候你会发现你输入代码没有自动提示 自动导包
转载 2024-05-13 23:27:40
399阅读
1.Vetur 用vue开发的必装 作用:高亮.vue文件,附带有格式化功能,配合Eslint插件对代码进行格式化检查 2.Eslint 如果你想你(团队)的代码风格所有地方看起来都像是同一个人写的 作用:检查你的js、html、css代码,确保它们符合规范,并且代码风格保持一致性,强制性的规则,你少写一个空格或者多敲一个回车都会被严格的指出来, 使用:想让插件生效,你的项目
转载 2024-08-22 19:51:34
43阅读
0、Lua基础语法。 1、在Lua中,and逻辑运算符如果第一个参数是false,则返回false,不会执行第二个参数的代码(即使第二个参数是一个错误的表达式,也能顺利运行);如果第一个参数是true,返回第二个参数的值。 同理,or逻辑运算符如果第一个参数不是false,则返回第一个参数的值(不会执行第二个参数的代码);否则返回第二个参数的值。这就是所谓的逻辑运算符短路求值。
五一开始了,正好趁这段时间,挺闲的。整理一下xlua的原理,之前一直在lua来做热更新,觉得始终是一个API的搬运工,没有深入的了解过基础的原理。准备今天深入代码层面研究一下,而不是停留在怎么用,而是深入研究为什么会这样。首先,先介绍一下xlua吧,用Unity开发的人对他应该挺熟悉的。对于热更新方案,现在主流方案主要是各种lua方案(tolua, xlua 等等),还有就是ILRuntime,基
        一般我们做unity c#开发基本使用vs,也就是visual studio,写shader使用vscode,这套黄金组合目前应该算是最完美的。不过最近因为项目同时涉及window桌面开发和DLL嵌入(我职业生涯还是桌面开发为主,我当年刚入行就是winform+js),导致我unity工程csproj关联非常多,整个unity编辑器和v
转载 2024-03-18 00:04:53
479阅读
前言      在看了uwa之前发布的《Unity项目常见Lua解决方案性能比较》,决定动手写一篇关于lua+unity方案的性能优化文。       整合lua是目前最强大的unity热更新方案,毕竟这是唯一可以支持ios热更新的办法。然而作为一个重度ulua用户,我们踩过了很多的坑才将ulua上升到一个可以在项目中大规模使用
转载 2024-05-13 22:40:38
71阅读
此文为搬运帖,原帖地址前言 在看了uwa之前发布的《Unity项目常见Lua解决方案性能比较》,决定动手写一篇关于lua+unity方案的性能优化文。 整合lua是目前最强大的unity热更新方案,毕竟这是唯一可以支持ios热更新的办法。然而作为一个重度ulua用户,我们踩过了很多的坑才将ulua上升到一个可以在项目中大规模使用的状态。事实上即使到现在lua+unity的方案仍不能轻易的说可以肆意
转载 2024-04-24 19:48:09
97阅读
Unity3D是个好引擎,但有一个缺憾是iOS下无法热更新。如果能用LuaUnity3D的游戏逻辑,那就可以绕过苹果审核随意更新了。 有一种方法是用C#的基础上实现Lua。这个网上可以查到有几种版本。但这种运行效率没保障,据说比一般的Lua要慢10倍。还有一种方法是使用C版本的Lua,使用Unity3D Pro 的Plugin 功能,用PInvoke 让C# 与原生的Lua 引擎交互。 NL
转载 2024-04-29 13:54:38
92阅读
unity + lua 性能优化 1.0 注册Wrap文件到Lua虚拟机中,有很多的优化方式,比如:(1)BinderLua太多wrap很慢,最佳方案。(早先)推荐大家把可能用到的类,不要直接添加进Wrap,而是添加到link.xml中,如果上线用到了,可以先用反射垫着,整包更新的时候,再添加到wrap里面,这是目前兼顾游戏体验,防范游戏未知问题,最佳选择方案。(2)动态注册Wr
转载 2024-05-21 14:41:04
123阅读
导读随着Lua在项目中的大量使用,它所带来的性能问题也逐步成为了项目运行时的重大性能瓶颈之一。特别是内存相关的性能问题,无论是内存分配过大还是内存泄露无法回收,目前都已经在不少研发项目中集中爆发。UWA推出的GOT Online中的Lua模式已经慢慢成为研发团队对Lua进行日常性能监控的有效手段。因此,也有越来越多的团队反馈,在监控到table数持续上涨,引用Mono对象持续增多等等问题时,应该如
转载 2024-05-27 22:33:14
62阅读
查找了 Unity 的官方资料,我们如果需要使用 WebGL 需要面对以下几个挑战:Native Plugin:也就是说各种原生插件(C/C++等编译的本地机器码库),我们的挑战是使用了 SLua。多线程:WebGL 端无法支持任何多线程代码,因为 JavaScript 没有多线程的实现,C# 端使用的类似 System.Threading 等库最终都不会被编译成相应的 js 代码。网络模块:传统
转载 2023-08-28 12:48:25
431阅读
前言在看了uwa之前发布的《Unity项目常见Lua解决方案性能比较》,决定动手写一篇关于lua+unity方案的性能优化文。整合lua是目前最强大的unity热更新方案,毕竟这是唯一可以支持ios热更新的办法。然而作为一个重度ulua用户,我们踩过了很多的坑才将ulua上升到一个可以在项目中大规模使用的状态。事实上即使到现在lua+unity的方案仍不能轻易的说可以肆意使用,要用好,你需要知道很
转载 2024-06-17 23:44:37
155阅读
1点赞
  • 1
  • 2
  • 3
  • 4
  • 5