unity小知识

1.xlua中监听Toggle的OnValueChange事件

问题 使用xLua时,发现监听一些带有泛型委托,比如Toggle,DropDown,Slider等事件的时候,会有下图的报错。
(例如监听ToggleonValueChanged事件)
在这里插入图片描述

原因 是C#静态调用Lua的设置里少了对应类型的配置。在XLua文件夹里找到Examples/ExampleGenConfig.cs ,没找到的话全局搜索一下ExampleGenConfig。我之前打手机包的时候,不想把xlua的案例打进apk,所以把整个Examples文件夹删除了。这时只要重新去github上下载,然后解压就行了。

解决方案

  1. 在ExampleGenConfig.cs里找到[CSharpCallLua]
    在这里插入图片描述
    在最后加入相关类型的泛型委托就行,OnValueChange事件需要的是bool类型的。添加如下两行代码即可:
typeof(UntiyEngine.Events.UntiyAction<bool>)typeof(UntiyEngine.Events.UntiyAction<float>)
  1. 在Unity编辑器上重新生成一下xlua代码
    在这里插入图片描述
    点击Generate Code生成代码,完成后点击Hotfix Inject In Editor注入修补程序。

2. prefab的旋转,rotation和rotate。

在做伤害跳字的时候,想修改跳字的rotation,沿着x轴旋转45度,遂使用了如下代码,但发现根本不是预期的效果。

	local rotation = self.monObj.transform.rotation
	rotation.x = 45
	rotation.y = 0
	rotation.z = 0
	local jumpFont = UE.GameObject.Instantiate(self.dumpFont, position, rotation)

这里需要了解一下rotation和rotate的区别,后来修改为

local jumpFont = UE.GameObject.Instantiate(self.jumpFont, position, UE.Quaternion.Euler(UE.Vector3(45,0,0)))

使用UE.Quaternion.Euler(UE.Vector3(45,0,0)才能沿着x轴旋转45度。

3.图文混排

Text属性支持使用html格式,"[color></color]"的格式。
眺字根据不同的类型,配置了很多的动画(普攻、技能、状态、特殊、暴击等)。 用Animators

4.lua.bytes文件

https://zhuanlan.zhihu.com/p/490755117
解包后有一堆的lua.bytes,这些是lua代码编译后的文件。lua的编译器有Luac和LuaJit。类似gcc和g++对于C++代码。

5. 界面UI的bug

1.修正资源界面,在主界面和副本场景中,都能显示
a.之前在副本中,显示位置不正确,是因为父节点UI和主界面的挂载点,设置不一样
b.调整后发现资源界面没了,是因为没注意缩放为(0,0,0,)
c.字节点不能修改属性,是因为父节点使用了【布局】类组件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值