QFramework学习笔记

  1. 下载QFramework并导入Unity

下载地址:qframework.cn/qf

  1. ResKit模块 加载一个GameObject预制体 用法示例:

① 在Unity的Assets中创建一个文件夹,命名为"Art",再在其下创建一个文件夹,命名为 "Prefab" ,将要动态加载的预制体放到此文件夹下(这样做只是为了规范化)

② 假如现在有一个名为Cube的预制体,如何动态加载到场景呢?

右键单击Cube,将预制体勾选@ResKit选项

加载代码示例:

cs 复制代码
        //ResKit.Init(); 发布后的程序,必须先调用ResKit.Init()这个方法
        ResLoader resLoader = ResLoader.Allocate();
        GameObject loadedGameObj = resLoader.LoadSync<GameObject>("Cube");//同步加载方法
        Instantiate(loadedGameObj);//克隆到场景中

运行这段代码,就能将预制体动态加载到场景中了。

不过现在只是模拟模式(打开QFramework的设置可以看到现在只是模拟模式),只能在编辑器中测试使用:

切换为真机模式后,该如何使用呢?

切换为真机模式,点击打AB包:

AB包保存到的目录:

然后执行下面代码,即可将AB包中的预制体加载到场景了

cs 复制代码
        ResKit.Init(); //发布后的程序,必须先调用ResKit.Init()这个方法
        ResLoader resLoader = ResLoader.Allocate();
        GameObject loadedGameObj = resLoader.LoadSync<GameObject>("Cube");//同步加载方法
        Instantiate(loadedGameObj);//克隆到场景中

  1. UIKit模块用法示例:

① 在如图所示的文件夹下,找到UIRoot预制体,放入到场景中

② 在UIRoot的Design子对象之下来设计UI面板,以下是设计了一个TestPanel,包含一个Text和一个按钮。

TestText游戏对象,加上Bind组件(Bind组件是为了后面自动生成代码中的变量),并选择合适的类型(图上选择的是Text类型)。

给TestBtn对象,加上Bind组件,并选择Button类型,和上述的Text类型一样,都是为了可以自动生成变量的代码 。

之后会发现在Script/UI目录下,就存在TestPanel和TestPanel.Designer脚本,其中的.Designer脚本中就写好了Bind的变量 的代码。

打开TestPanel脚本,修改OnInith函数,实现一个单击TestBtn, 然后TestText的内容改变的功能!

cs 复制代码
		protected override void OnInit(IUIData uiData = null)
		{
			mData = uiData as TestPanelData ?? new TestPanelData();
			// please add init code here

			TestBtn.onClick.AddListener(() => {
				TestText.text = "Test Btn is Clicked  !";
			});
		}
相关推荐
宵时待雨2 小时前
STM32笔记归纳9:定时器
笔记·stm32·单片机·嵌入式硬件
m0_719084112 小时前
React笔记张天禹
前端·笔记·react.js
Ziky学习记录2 小时前
从零到实战:React Router 学习与总结
前端·学习·react.js
sensen_kiss3 小时前
INT303 Coursework1 爬取影视网站数据(如何爬虫网站数据)
爬虫·python·学习
red_redemption3 小时前
自由学习记录(116)
学习
r i c k4 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦5 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
shandianchengzi5 小时前
【小白向】错位排列|图文解释公考常见题目错位排列的递推式Dn=(n-1)(Dn-2+Dn-1)推导方式
笔记·算法·公考·递推·排列·考公
浅念-6 小时前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法
ZH15455891316 小时前
Flutter for OpenHarmony Python学习助手实战:API接口开发的实现
python·学习·flutter