海哥 发表于 2025-4-23 12:06:18

unity TEngine学习4

上一篇我们学习了UI部分,这一篇我们学习其他部分,按照老规矩还是先打开官方文档
ResourceModule

https://i-blog.csdnimg.cn/direct/4ff880ed6470402dad0ebcf53163d4f8.png
https://i-blog.csdnimg.cn/direct/960d5a997d794d8291732421914c22d3.png
在官方文档里介绍了当前加载的设置,但是我们是小白看不懂,那就不管他内部怎么实现的,我们主要看下面的代码给的方法,在我们使用Yooasset打包后,使用他给的框架封装后的代码直接调用即可。
https://i-blog.csdnimg.cn/direct/ba70a78b1ae2450ca9fff439f1551b23.png
![在这里插入图片形貌](https://i-blog.csdnimg.cn/direct/fd7d47bfb0e3420db1f3c45d566dfacf.pnghttps://i-blog.csdnimg.cn/direct/0ec84a67972d486ea7638698b704ee59.png
如果使用LoadAssetAsync获取的是你传入范例的物体,吸收后可以针对吸收的数据进行处置处罚
https://i-blog.csdnimg.cn/direct/fe88376b44ce483d9e5850ee0d9a0f5b.png如果使用LoadGameObjectAsyn根据你传入的名称直接实例化,其他方法可以自己F12进入脚本自己查看。
GameEvent

在脚本中添加官方文档的添加事件方法,点击按钮会触发注册的事件,改为用int也可以,但是文档中的转int方法不能使用,可自己更换大概直接写入int值。
https://i-blog.csdnimg.cn/direct/b603e787c363440286c61427c38ab449.png
https://i-blog.csdnimg.cn/direct/2376b26d56464dba8cfc2d9fc2ee1828.png
https://i-blog.csdnimg.cn/direct/f8dcf64fb1a3436c803ac17a7e6bdf90.png
https://i-blog.csdnimg.cn/direct/c54b3c1be6294f05a5f7166ffd2128b9.png
但是颠末菊佬辅导,te中有这个runtimeid这个类,可以把字符串转int 颠末测试一样可以实现
https://i-blog.csdnimg.cn/direct/aa02428b0c6449a8940324af4b3ec52d.png
https://i-blog.csdnimg.cn/direct/68e4e05202314cd6b218ae0728c8f5c6.png
群里大佬小博君辅导框架内有一个自带事件的示例,双击打开脚本看到其中,自带两个方法,其中
第一个方法在GameApp的初始化有调用,刚开始不清楚是为什么,颠末学习事件相关我们知道了这个是事件的实现方法,那么让我们测试一下看看写入自己的方法怎样使用。
https://i-blog.csdnimg.cn/direct/30ddf84df3ce4f3c843722a92fe75032.png
https://i-blog.csdnimg.cn/direct/da062136448b4aaf94b21ba92736b122.png
https://i-blog.csdnimg.cn/direct/e5d0bfebb4b34df08f7ede792a6b76de.png
首先在脚本中添加我们的测试方法,然后注册此方法的事件,最后在调用注册的事件。
https://i-blog.csdnimg.cn/direct/c4d1b57724884a45b4b38d7184b0acb6.png
https://i-blog.csdnimg.cn/direct/a9ae6c7cafeb437bac9eef87f7e5beeb.png
在事件添加中我们发现这个脚本是有专属的event脚本,我们进去查看会发现,在ILoginUI脚本增长的方法,在这个脚本中会自动转为Int,剩下步调就和上方的一样注册与调用。
https://i-blog.csdnimg.cn/direct/c609a63146cd4749b91cc5a2d73e84d7.png
https://i-blog.csdnimg.cn/direct/47796b7efd9542ce8f0660b85b81182c.png
https://i-blog.csdnimg.cn/direct/bd43a98bffcb4931b9fd1e50f0e1a24a.png
https://i-blog.csdnimg.cn/direct/f52625a9eb704705a94fe803851a80f0.png
我们写了添加事件,也不能忘记删除直接在脚本竣事时调用这个方法就可以把事件移除,但是有人会忽然发现为什么报错了,颠末te群里大佬解答是因为lambda是new的方法,并不是原来的地址,所以声明一个void方法, 把方法替换我这个lambda表达式就可以了。原谅我的疏忽,我为了认识框架就懒的省了很多,各人不要学我。
https://i-blog.csdnimg.cn/direct/964f3dc6c89c4472a38bc1a7471c0dd7.png
但是有的同学要问了,为什么要多此一举用一个接口脚本进行外包一层呢,我们进入ILoginUI脚本中看看,这个脚本引用了罗列EEventGroup进行分类。
根据我的猜想应该是作者为了制止项目工程大了以后,在其他地方乱用添加事件,从而新建一个接口类,在这个接口类中把相关的所有方法都在这里标记。
所有的事件都能在相应的接口类下找到在哪里调用,后期修改也很容易找到,我们后面使用的时候可以新增接口类,把要添加事件的方法都写入到接口类中。
https://i-blog.csdnimg.cn/direct/005f1c83ef3640a2a998855ef49ac434.png
在步伐中我根据文档中所讲,我们在角色身上的事件流、UI和网络以及Model的数据流、开发中的绝大部分情况都可以通过事件来进行驱动。在事件注册时候,把注册的事件集中到分类接口中,进行统一使后期方便查询调用。
在UI部分也有自身的事件管理,在ui部分的时间不须要直接移除,会自动移除我们只须要在注册事件,然后调用就可以了,测试后成功没有题目
https://i-blog.csdnimg.cn/direct/ba06379b34814e419d84a4609c6e324a.png
https://i-blog.csdnimg.cn/direct/94589a8f337142b8b4116141fe213d19.png
https://i-blog.csdnimg.cn/direct/c8084c69ba2f42869537116c48b9cfcf.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: unity TEngine学习4