Lua基础

Lua基础,第1张

,

数据类型

Lua 是动态类型语言,变量无需类型定义,只需要为变量赋值。(语言自动识别变量类型)

变量

变量的默认值均为 nil

循环

 循环和流程还是要用Lua自带的,因为“不能连线”。。下面是示例

--BeginPlay函数
function BP_CharacterBase_C:ReceiveBeginPlay()
	local Weapon = self:SpawnWeapon()
	if Weapon then
		Weapon:K2_AttachToComponent(self.WeaponPoint, nil, UE.EAttachmentRule.SnapToTarget, UE.EAttachmentRule.SnapToTarget, UE.EAttachmentRule.SnapToTarget)
		self.Weapon = Weapon
	end
end
for循环

Lua 编程语言中 for语句有两大类:

数值for循环
--var 从 exp1 变化到 exp2,每次变化以 exp3 为步长递增 var,并执行一次 "执行体"。exp3 是可选的,如果不指定,默认为1。
--var = exp1, exp2, exp3
--do
--end
for i=10,1,-1 
do

    print(i)
end

泛型for循环

while循环

a=10
while( a < 20 )
do
   print("a 的值为:", a)
   a = a+1
end


..

dd

流程控制
if(0)
--第一个大括号用关键字then表示
then
    print("0 为 true")
	
	--else。。。
	else 
	print("a 大于 20" )
--最后一个大括号用end表示
end

b

b

函数

函数一般不带local,函数都是在类外使用

返回值不在第一行,返回值在return关键字后

--local:本地函数,表示只在此类内可用!!
--       方法都是在类外使用,所以方法一般不用local 标记
--返回值不在第一行,返回值在return关键字后
function Test(param1, param2)



	--返回值在这里
	return param1, param2
	
	
--函数没有大括号,以关键字end结尾!!!
end



字符串

--双引号括起来,Lua 变量无需定义,只需赋值。。。
local test = "Lua"
--字符串的链接
--print("www.runoob.".."com")
UnLua初步

访问UE变量

重写父类的函数
// --self + Super + 原函数名
// --函数无参数,默认要传 self
function BP_Game_C:ReceiveBeginPlay()

--这一段代码是重写父类函数的逻辑
   self.Super.ReceiveBeginPlay(self)

end
重写父类的普通函数
--self + Overridden + 原函数名
--函数无参数,默认要传 self
function BP_Game_C:ReceiveBeginPlay()

--这一步是执行原函数的逻辑,如果不需要执行,则可以不写。
   self.Overridden.ReceiveBeginPlay(self) 
end
调用类里的函数
--UE 的 namespace(UE的方法都存在了UE的命名空间内吗???)
--UE4.	前缀(可能是命名空间前缀)
--所在类的类名.	如 AActor
--函数名.	函数调用时的第一个参数,好像总是self。。。

UE4.UKismetSystemLibrary.PrintString(self,"HelloWorld")

调用父类里的函数
function Test_C:ReceiveBeginPlay()

--调用自定义方法
self.TestFunction()

end

--自定义方法
function Test_C:TestFunction()

 UE4.UKismetSystemLibrary.PrintString(self,"dddddd")

end
Cast函数
--区别 原来的大括号 <>  包括里面的内容不存在
--     函数的参数变为了		UE4. + 蓝图类的文件名_C
local Actor = UE.AActor.Cast(UE4.Test_C)

d

ddd

d

d

参考资料

​​​​​UE 热更新:基于 UnLua 的 Lua 编程指南 | 循迹研究室 (imzlp.com)

Unreal Frontend(虚幻前端) - 虚幻引擎 UnrealEngine v4 中文文档 - 文江博客 (wenjiangs.com)

UTA(User Acceptance Test 用户验收测试)

热更

打包的两种方式

第一种,无启动程序,直接在引擎检测出的设备上启动。每次启动都需要重新生成。

如何打开窗口

窗口内容
自定义相关设置

 第二种,有安装程序。

UE 使用的是 C++ 这种编译型语言,在编译之后就成了二进制,只有通过玩家重新安装才能打到更新游戏的目的。但是对于游戏业务而言,对于需求调整和 bug 修复时间要求非常迫切,频繁地让玩家更新 App 是不能接受的,游戏项目一般使用 Lua 作为游戏业务的脚本语言,是为了把运行时不可变的 C++ 代码变成运行时可更新的 Lua 代码。

d

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1323904.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存