当前位置: 首页 > article >正文

『功能项目』QFrameWork道具栏物品生成【64】

我们打开上一篇63QFrameWork框架重构OnGUI的项目,

OnGUI优点:

  1. 简单易用:OnGUI是基于代码的UI系统,对于简单的调试界面或者小型项目来说,可以快速实现UI需求。
  2. 即时更新:OnGUI的UI元素是即时更新的,适合需要实时反馈的调试工具。
  3. 无需额外的组件:使用OnGUI不需要在场景中添加额外的UI组件,所有的UI元素都是通过代码动态创建的。
  4. 适合快速原型开发:在项目早期,开发者可以使用OnGUI快速搭建UI原型,进行功能测试。

OnGUI缺点

有一些局限性,比如它不适合用于复杂的UI设计,因为它缺乏UGUI那样的布局和设计工具。此外,OnGUI的UI元素是在代码中硬编码的,这使得在项目后期进行UI调整时可能比较困难。

总的来说,UGUI更适合用于开发复杂的、需要高度定制的UI系统,而OnGUI则更适合快速开发和调试。开发者可以根据项目的需求和团队的技能选择合适的UI系统。

UGUI优点:

  1. 引擎内置:UGUI是Unity官方提供的UI系统,与Unity编辑器和游戏引擎紧密集成。
  2. 灵活性和可视化:UGUI提供了灵活的布局系统,支持锚点和相对布局,使得UI元素可以很好地适应不同的屏幕尺寸。同时,它支持可视化编辑,可以在Unity编辑器中直接看到UI元素的最终效果。
  3. 性能优化:UGUI使用Canvas作为UI的根节点,支持图形合批(Batching),减少了Draw Call,提高了渲染效率。
  4. 丰富的组件和事件系统:UGUI提供了一系列的UI组件,如按钮、文本、滚动视图等,并且拥有完整的事件系统,方便开发者实现交互逻辑。
  5. 材质和Shader支持:UGUI允许使用自定义材质和Shader,为UI元素提供更多的视觉效果。
  6. 国际化支持:UGUI支持多语言,方便进行本地化处理。

本章要做的事情是用UGUI实现道具栏案例

首先打开Canvas预制体

重命名UISlotRoot

复制测试增加位置距离

测试好后删除将UISlot从UISlotRoot的子物体中拖拽至与UISlotRoot同级别

将Canvas重命名为UGUCanvas

创建UISlot脚本绑定至UISlot身上

对UGUICanvas对象增加QFrameWork的组件View Controller

将文件夹位置拖拽至 代码生成设置的位置区域

点击生成代码

对UISlot对象 和 UISlotRoot对象 增加QFrameWork的组件Bind

将UISlot对象的绑定类型 设置为 自己(方便父物体UGUICanvas在父类中调用子类UISlot.cs中的数据字段)

将UISlotRoot对象 的Bind类型设置为 UnityEngine.RectTransform

再次对UGUICanvas对象的View Controller组件 点击生成代码

编写脚本:UGUICanvas.cs

点击运行即可实现生成自定义类ItemKit(背包系统类)数据列表的四个Slot位置

(上几篇文章所写)

本文只其查看提示作用

在UISlot下创建Text文本重命名为Count

设置Text文本

再创建Text文本重命名为Name

设置文本Name

修改脚本:UISlot.cs

将Text文本Count、Name拖拽至UISlot组件的脚本框选中

修改脚本:UGUICanvas

运行项目

本章利用QFrameWork插件中的Bind与View Controller组件调用背包系统脚本(ItemKit.cs)实现生成ItemKit的数据Slots列表中的四个Slot插槽对象

接下来的文章内容:

1.QFrameWork背包案例UGUI

2.窗口可拖拽脚本

3.点击名称寻找地点功能

4.隐藏怪物的生成

5.怪物I攻击范围内的主动攻击

6.掉落坐骑蛋的获取

7.异步传送转换场景

以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。

具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》

【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)icon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6


http://www.kler.cn/a/319149.html

相关文章:

  • 24/11/13 算法笔记<强化学习> DQN算法
  • qt QVideoWidget详解
  • 小面馆叫号取餐流程 佳易王面馆米线店点餐叫号管理系统操作教程
  • 【STM32】基于SPI协议读写SD,详解!
  • 综合案例铁锅炖(CSS项目大杂烩)
  • Android Profiler 内存分析
  • thinkphp8 从入门到放弃(后面会完善用到哪里写到哪)
  • C#图像爬虫实战:从Walmart网站下载图片
  • python常见的魔术方法
  • 对FPGA加载过程中不同寄存器初始化方式现象的分析
  • 基于PHP的CRM管理系统源码/客户关系管理CRM系统源码/php源码/附安装教程
  • 免费分享必看!AI合规常见问题解答(二)
  • java之斗地主部分功能的实现
  • 修改Linux服务器系统语言
  • 深入解析Debian与Ubuntu:技术特点与用户使用指南
  • Git 详细安装教程(详解 Git 安装过程的每一个步骤)
  • Python 课程19-FastAPI
  • 开源 AI 智能名片与 S2B2C 商城小程序:嫁接权威实现信任与增长
  • 深入解析:HTTP 和 HTTPS 的区别
  • 51单片机开关电路+限位+舵机
  • 【玉米田】
  • Springboot多种请求参数
  • Cloudera 安装不再难:下载安装全流程指南
  • 数据库基础01
  • 《使用 LangChain 进行大模型应用开发》学习笔记(四)
  • 【图论】最短路应用