当前位置: 首页 > 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.yidumall.com/news/67408.html

相关文章:

  • 网站建设万首先金手指14宁波seo教程行业推广
  • 网站优化推广是什么安卓优化大师2023
  • 个人网站怎么备案营销型网站建设托管
  • 手机网站建设的行情seo关键词排名优化方案
  • 为什么要建设企业网站企业门户网站的设计与实现
  • 购物网站的页面设计广告网址
  • 南昌做网站开发的公司百度网盘下载速度慢破解方法
  • 单页网站怎么做外链抖音指数
  • 哪个网站做贺卡做的好网页制作培训网站
  • 钦北区网站建设天津网站建设开发
  • 自适应网站导航是怎么做的seo网站排名优化公司哪家好
  • 域名注册网站那个好公司网站怎么弄
  • 武汉 外贸网站建设百度客服在线咨询
  • 58招聘网站官网唐山百度seo公司
  • 贵阳手机网站开发免费网站安全软件下载
  • 电子商务网站建设总结免费的行情软件网站下载
  • 谷歌做公司网站需要多少钱白云百度seo公司
  • 做汤的网站百度新闻最新消息
  • 什么网站做电气自动化兼职优优群排名优化软件
  • ubuntu 做网站 分区网站推广内容
  • 网站建设论文html格式指数分布的分布函数
  • 高校支付网站建设费需要入无形资产网络优化
  • 住宿和餐饮网站建设的推广西安seo学院
  • 商家免费网站模板网络营销课程个人感悟
  • 软件公司取名seoul是哪个城市
  • 网站和微信制作网页需要多少钱
  • 安康企业网站建设价格现场直播的视频
  • 淘客做网站有必要吗成都网站建设系统
  • seo针对网站做策划今日头条搜索优化
  • 朝阳网站建设多少钱网络营销的含义特点