今天开始学习BOLTUI界面引擎,官方的教程写的太过粗糙了。第一步创建onload.lua文件

目录

  • ·第一步 创建模板
  • ·第二步 创建模板对象实例
  • ·第三步 创建对象树
  • ·第四步 实例化对象树
  • ·效果
  • ·源码

今天开始学习BOLT UI界面引擎,官方的教程写的太过粗糙了。

第一步 创建模板创建onload.lua文件1. 获取XLUE引擎内部的模板管理器对象,模板的创建,获取都需要通过这个对象

local templateMananger =XLGetObject("Xunlei.UIEngine.TemplateManager")

2. 获取要创建的hostwnd的模板,也就是读取指定的xml文件

local frameHostWndTemplate = templateMananger:GetTemplate("HelloXLUEWnd","HostWndTemplate")

上句代码用到了TemplateManger类的GetTemplate方法,该方法包括两个参数:

名称描述    templateID模板id templateClass 模板类型

它要读取的模板位于MainWnd.xml,模板类型是指xml标签<hostwndtemplate>,id:是批HelloXLUEWnd

<hostwndtemplateid="HelloXLUEWnd"class="FrameHostWnd">

<attr>

<mainwnd>1</mainwnd>

<title>itbug.baike.com</title>

<layered>1</layered>

<left>200</left>

<top>100</top>

<width>430</width>

<height>280</height>

<cacheleft>0</cacheleft>

<cachetop>0</cachetop>

<cachewidth>1000</cachewidth>

<cacheheight>720</cacheheight>

<center>1</center>

<topmost>0</topmost>

<visible>1</visible>

<enable>1</enable>

<active>1</active>

<maxbox>0</maxbox>

<minbox>0</minbox>

<minwidth>430</minwidth>

<minheight>289</minheight>

<maxwidth>1000</maxwidth>

maxheight>720</maxheight><

appwindow>1</appwindow>

<fps>30</fps>

</attr>

</hostwndtemplate>

第二步 创建模板对象实例
使用模板对象创建一个ID为MainFrame的实例,这个时候会根据之前记录下的节点对象,解析MainWnd节点的属性:
if frameHostWndTemplate then local frameHostWnd = frameHostWndTemplate:CreateInstance("HelloXLUE.MainFrame") ... end

第三步 创建对象树接着是创建对象树local objectTreeTemplate = templateMananger:GetTemplate("MainWndTree", "ObjectTreeTemplate")

在Mainwind.xml文件中对应要寻找的是:

<objtreetemplateid="HelloXLUETree"class="ObjectTreeTemplate"><attr><left>-200</left><top>-200</top><width>430</width><height>280</height></attr> //添加<obj>节点 </objtreetemplate>

在上述过程中,节点<obj>会被找到,并把其对象树对象上去。

第四步 实例化对象树if objectTreeTemplate then local uiObjectTree = objectTreeTemplate:CreateInstance("HelloXLUE.MainObjectTree") if uiObjectTree then frameHostWnd:BindUIObjectTree(uiObjectTree) frameHostWnd:Create() end end

在上述代码中,创建了对象化实例,并同时把对象化实例绑定到窗口模板实例上,它们之间是一一对应的。

效果会产生一个透明窗口:

BOLTUI界面引擎

BOLT UI界面引擎是如何工作的?(BOLT UI入门教程)相关推荐

  1. 学UI设计能从事哪些工作 如何学好UI设计

    学UI设计能从事哪些工作?相信这个问题是很多人都关心的话题,今天小编就给大家分析一下UI设计从业方向有哪些!解决你们的后顾之忧! 一.按工作内容分类 1.视觉设计师 作为产品终极视觉稿的输出人员,对于 ...

  2. 科技感ui界面 html,技术实现丨如何增强UI页面的科技感

    在界面中要想体现出更强的科技感,或者说让人眼前一亮.那么首先要知道,大众理解的科技感的东西或者说大众觉得很棒的科技感大概是什么. 人的审美一直在跟随着主流的媒体而变化 从1985年的电影<回到未 ...

  3. 【Unity3D编辑器扩展】Unity3D中实现UI界面控制,UI界面的显示和隐藏实现

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

  4. UI素材模板|App搜索页UI界面设计版式

    无论是在app还是在web端,搜索都是一个发现内容的重要方式.与web端不同,app上的搜 索功能在设计方面有自己独特的展现方式. 下面就看看这些App搜索页UI界面设计吧. 工作搜索App免费UI ...

  5. 2018年Sketch UI界面设计套件前十了解下!

    Sketch近几年凭着大量的插件和免费教程迅速发展,而Sketch的忠实粉丝们也乐于将他们的免费模型分享出来.这也意味着你会在网上找到更多的免费Sketch素材,从完整的模型到内容详实的UI套件. 为 ...

  6. GUI,UGUI,NGUI三种编辑UI界面的插件

    出现顺序:GUI,UGUI,NGUI的出现顺序:GUI-->NGUI-->UGUI. GUI:GUI是unity内置的,拥有大量的UI方面的类和方法.GUI用起来很繁琐,因为没有内置的按钮 ...

  7. 【转】学会这13个原则写UI界面文案,用户才能秒懂

    原文网址:http://www.niaogebiji.com/article-12011-1.html 摘要: 首先,在写UI文案之前,为了理清思路,要先搞清楚三个问题:我(设计师)想让用户做什么? ...

  8. 仿win10系统UI界面纯html网页网站后台UI界面

    仿win10系统UI界面纯html网页网站后台UI界面 一款经典仿win10系统UI界面纯html网页网站后台UI界面,效果超炫 演示地址:http://www.phprr.com/show-312

  9. 简单的UI框架 | 一、UI界面的搭建

    简单的UI框架 UI界面的搭建 文章目录 简单的UI框架 前言 一.UI资源的导入 二.游戏主界面设置 1.背景设置 2.游戏主玩法图标按钮 3.游戏主玩法界面 4.预制体 总结 前言 本文将会学习到 ...

  10. 蓝牙聊天App设计1:Android Studio制作蓝牙聊天通讯软件(UI界面设计)

    前言:蓝牙聊天App设计全部有三篇文章(一.UI界面设计,二.蓝牙搜索配对连接实现,三.蓝牙连接聊天),这篇文章是一.UI界面设计 课程1:Android Studio小白安装教程,以及第一个Andr ...

最新文章

  1. Nmap (网络映射器)好东西啊
  2. 【MATLAB】符号数学计算(四):符号表达式操作
  3. array,vector对象 数组越界检测
  4. ASP:当 request.cookies 发生 Microsoft VBScript 运行时错误 (0x800A000D) 类型不匹配: '[string:...
  5. A-Webkit第五章:添加成绩
  6. 网络故障排除连载之七:设备兼容性故障排除
  7. 韩研究人员声称:创造出了一块“不可破坏”的芯片!
  8. signature=486e34400687432217e65e837b8e6753,PXE常见错误代码表
  9. Android中WebService的应用
  10. 设计灵感|浓浓人文感!中文活动海报设计学习案例
  11. Liunx 内核漏洞
  12. 杰控组态软件的“远程连接服务”使用要点
  13. SQL Server 2005数据库可疑、置疑修复方法
  14. C# 使用openxml解析PPTX中的文本内容
  15. 8.15美团笔试和奇葩赛码网的输入坑
  16. mt管理器主题修改教程_华为微信气泡怎么设置皮肤 微信怎么改猫和老鼠的主题和气泡?...
  17. python绘制气象等值线图_用Matplotlib绘制Python等值线图
  18. 最优化理论基础与方法学习笔记——凸集与凸函数以及手写定理证明
  19. For循环—函数初步概念
  20. python实现bili手机客户端上下载的文件转成mp4

热门文章

  1. 计算机二级试题java_计算机二级java精选试题及答案
  2. 综述 | 机器视觉表面缺陷检测
  3. CAN协议 J1939
  4. SQL 删除重复数据,只保留一行
  5. W3Cschool导航条练习
  6. VTD(Virtual Test Drive)
  7. Visio 2019/2016中文版零基础入门视频教程
  8. SoapUI 接口测试偶遇返回值乱码解决
  9. 2022 年不错的 SQL 注入 (SQLi) 检测工具
  10. dkplayer 延迟_阿里云播放器SDK使用说明