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

建筑信息查询平台seo排名技术教程

建筑信息查询平台,seo排名技术教程,大型资讯门户网站怎么做排名,唐县做网站目录 0 引言1 全局对象(全局变量)1.1 游戏实例 GameInstance1.1.1 介绍1.1.2 使用 GameInstance 1.2 玩家控制器 PlayerController1.3 游戏世界类 UWorld 🙋‍♂️ 作者:海码007📜 专栏:UE虚幻引擎专栏&…

目录

  • 0 引言
  • 1 全局对象(全局变量)
    • 1.1 游戏实例 GameInstance
      • 1.1.1 介绍
      • 1.1.2 使用 GameInstance
    • 1.2 玩家控制器 PlayerController
    • 1.3 游戏世界类 UWorld

请添加图片描述

  • 🙋‍♂️ 作者:海码007
  • 📜 专栏:UE虚幻引擎专栏
  • 💥 标题:UE4 中可全局获取的变量(例如游戏实例、玩家控制器、游戏模式等) 详解
  • ❣️ 寄语:加油,一次专注一件事!
  • 🎈 最后:文章作者技术和水平有限,如果文中出现错误,希望大家能指正,同时有问题的话,欢迎大家留言讨论。

0 引言

在游戏开发过程中,有一些变量经常需要被别的蓝图调用,但是这个变量又不是全局变量。所以使用前需要通过Get Actor Of Class(获取类的actor)的方式获取对象的引用。但是假如我们将经常需要用到的变量存储在全局对象当中,下次别人要调用就直接通过这个全局对象来访问这个变量。

1 全局对象(全局变量)

🎈对象其实也是一种变量,所以全局对象也可以叫做全局变量🎈

在UE4中,有一些全局可获取的变量,可以方便地访问和管理游戏的各个方面。

  • GameInstance 游戏实例
  • GameViewportClient 游戏视口客户端
  • UWorld 游戏世界
  • GameModeBase 游戏模式
  • PlayerController 玩家控制器
  • Actor 演员

通过这些全局变量,开发者可以方便地访问和管理游戏的不同方面,从而实现更灵活和高效的游戏逻辑和交互操作。

拓展:在UE4切换关卡时,下面这些全局变量不会被释放:

  • GameInstance 游戏实例:游戏实例中的数据将在切换关卡时保留,以便在下一个关卡中继续使用。
  • PlayerController 玩家控制器:玩家控制器是负责玩家输入和控制的对象,它们在切换关卡时通常会保持不变。
  • GameModeBase 游戏模式:游戏模式定义了游戏的规则和逻辑,它们在切换关卡时通常会保持不变。
  • 主角色(APawn、ACharacter):游戏中主角的演员(Actor)通常会在切换关卡时保持不变。
  • 关卡关联的演员(Actor):如果某个actor在关卡编辑器中被直接放置在关卡中,那么在切换关卡时它们通常会保持不变。下图所示,每个actor都有自己所属的关卡
    在这里插入图片描述

需要注意的是,不会被释放的变量只是在切换关卡时会保持不变,但在游戏结束或重新加载游戏时可能会被重置或释放。此外,其他不直接与特定关卡和角色关联的全局变量也可以在切换关卡时保持不变,如全局的游戏配置、游戏状态等。

1.1 游戏实例 GameInstance

1.1.1 介绍

UGameInstance:游戏实例,它负责保存和共享游戏的全局数据和状态。可以在项目中创建自定义的UGameInstance子类,通过GetGameInstance函数获取当前的游戏实例,并使用其中的变量来存储和访问全局数据

GameInstance是UE4中的全局类,只有一个实例(就像是单例设计模式,只有一个对象)

GameInstance常用的函数与用法

  • Event Init(事件初始)与 Event Shutdown(事件关闭),引擎初始化与关闭时执行的逻辑。
    在这里插入图片描述

  • 为游戏保存全局数据:比如上一个关卡的信息需要在下一个关卡使用时;只是临时数据,游戏结束则消失;则可以将这些临时数据保存在GameInstance中。(假如需要持久保存数据需要用SaveGame,也就是将数据存储到磁盘中)

1.1.2 使用 GameInstance

  1. 首先新建蓝图类继承 GameInstance 基类
    在这里插入图片描述
  2. 在项目设置中配置游戏实例类为我们刚才新建的游戏实例类即可。(不配置的话游戏运行还是使用的默认的类)
    在这里插入图片描述
  3. 在其他蓝图类中获取游戏实例对象
    在这里插入图片描述

深入思考:通过获取游戏实例得到的其实是父类的指针(应该是父类指针指向子类对象),但是使用父类指针是访问不了子类中特有的函数的,所以就需要进行类型转换(UE的类型转换在C++中对应的就是static_cast、dynamic_cast等类型转换函数)。
这是一种抽象编程的思想,假如【获取游戏实例】函数获取的不是父类指针,而是直接获取对应的子类指针,而且我们也不知道未来会有多少子类被定义。不能新定义一个子类,我们就去修改【获取游戏实例】函数的源码,很显然这种程序设计思想太垃圾了。

1.2 玩家控制器 PlayerController

玩家控制器 和 GameInstance 使用方法很类似
它也可以通过【获取玩家控制器】函数获取父类指针,然后类型转换为子类类型之后就可以使用功能。

使用步骤:

  1. 新建一个子类派生于 PlayerController
    在这里插入图片描述
  2. 设置【项目设置中】选择新建的玩家控制器类(首先得新建一个游戏模式的子类,才能选择玩家控制器类)
    在这里插入图片描述
  3. 使用
    在这里插入图片描述

1.3 游戏世界类 UWorld

在UE4中,UWorld是一个重要的类,代表了游戏世界的实例。它是一个容器,用于存储和管理游戏中所有的Actors(角色)和Objects(对象),并负责协调它们之间的交互和逻辑。

这部分内容了解的还不多,挖个坑,等学习熟练之后再将这部分内容补全。

http://www.tj-hxxt.cn/news/51036.html

相关文章:

  • 可以做初中地理题的网站北京百度推广代理公司
  • 请问做网站怎么赚钱上往建站
  • 网站后台能进前台空白中国十大企业培训公司
  • 申请了域名先做网站还是先备案企业如何做网站
  • 重庆市建设工程管理信息网win7系统优化
  • 沈阳网站建设思路关闭站长工具seo综合查询
  • 太原便宜做网站的公司哪家好完整的社群营销方案
  • 怎么把网站上传到域名搜索引擎数据库
  • 网站域名 没有续费如何做百度关键词推广
  • 中小学建设网站百度指数下载app
  • 温州外贸公司网站建设公司排名aso优化服务
  • 彩票源码网站的建设站长工具端口检测
  • 北京品牌网站建设公司可以免费领取会员的软件
  • 唐山网站建设方案书排位及资讯
  • 济南建设集团网站色盲悖论
  • 网站专题模板下载网络运营是做什么的
  • 自己做的网站打不开了营销活动策划方案
  • wordpress交易系统网站打开速度优化
  • 高校 门户网站 建设背景徐州seo建站
  • 专注营销型网站建设公司 做网站关键词搜索爱站
  • 镇江集团网站建设a5站长网
  • 网站建设状况竞价排名适合百度这样的网络平台吗
  • 慈利网站开发百度网址怎么输入?
  • 做网页跳转网站网站优化
  • 从化网站建设公司企业网站推广的方法
  • wap蓝天建站电销系统软件排名
  • 网站设计毕业论文进度表范文关键词搜索站长工具
  • 安阳网站建设公司产品网络推广
  • 可以做哪些有趣的网站深圳seo网络优化公司
  • 惠州网站建设优秀的软文广告欣赏