-
C++ move STL move 函数运用详解
所属栏目:[语言] 日期:2022-07-16 热度:170
move() 算法会将它的前两个输入迭代器参数指定的序列移到第三个参数定义的目的序列的开始位置,第三个参数必须是输出迭代器。这个算法返回的迭代器指向最后一个被移动到目的序列的元素的下一个位置。 这是一个移动操作,因此无法保证在进行这个操作之后,[详细]
-
C++ swap_ranges STL swap_ranges 函数利用详解
所属栏目:[语言] 日期:2022-07-16 热度:127
可以用 swap_ranges() 算法来交换两个序列。这个算法需要 3 个正向迭代器作为参数。前两个参数分别是第一个序列的开始和结束迭代器,第三个参数是第二个序列的开始迭代器。显然,这两个序列的长度必须相同。这个算法会返回一个迭代器,它指向第二个序列的[详细]
-
C++ STL lexicographical_compare字符串排序算法说明
所属栏目:[语言] 日期:2022-07-16 热度:169
两个字符串的字母排序是通过从第一个字符开始比较对应字符得到的。第一对不同的对应字符决定了哪个字符串排在首位。字符串的顺序就是不同字符的顺序。如果字符串的长度相同,而且所有的字符都相等,那么这些字符串就相等。如果字符串的长度不同,短字符串[详细]
-
UE4是什么 虚幻4引擎是啥
所属栏目:[语言] 日期:2022-07-16 热度:75
UE4 的全名是 Unreal Engine 4,中文译为虚幻引擎4。UE4 是一款由 Epic Games 公司开发的开源、商业收费、学习免费的游戏引擎。 从 1998 年发行至今,UE4 一共经历了 UE、UE2、UE2.5、UE3、UDK、UE4 多个版本,它的迭代速度极快,现在已经到了 4.22 预览版[详细]
-
UE4的下载和安置 UE4开发环境的搭建
所属栏目:[语言] 日期:2022-07-16 热度:110
使用 UE4 开发游戏之前,必须先搭建开发环境,具体包括: 1) 首先,打开任意一个浏览器输入 UE4 官方网站的网址 https://www.unrealengine.com/zh-CN/,点击右上角的下载按钮,如下图所示: 2) 官方要求必须登录后才能下载,所以大家需要先创建一个账户。[详细]
-
UE4使用哪种编译器
所属栏目:[语言] 日期:2022-07-16 热度:101
UE4 的底层虽然是用 C++ 实现的,但它又不仅仅是一个 C++ 库,它还实现了自己的编译机制。换句话说,UE4 对现有的 C++ 语法进行了改进,以适应游戏开发的场景。 当然,UE4 也不会疯狂到自己去开发一个 C++ 编译器,它还是需要依赖传统的 C++ 编译器以及相[详细]
-
Linux Qt cannot find -lGL错误完美解决方法
所属栏目:[语言] 日期:2022-07-16 热度:182
对于很多 Linux 发行版本,Qt 安装完成后如果直接编译或者运行项目,会出现cannot find -lGL错误, 这是因为 Qt 找不到 OpenGL 的动态链接库(libGL.so)。在《Linux Qt安装》一节中我们说过,OpenGL 在大部分 Linux 发行版中都是默认安装的,包括 Ubuntu[详细]
-
解密Qt安装目录的构架
所属栏目:[语言] 日期:2022-07-16 热度:154
了解 Qt 安装目录的结构虽然不是编程必须的,但是它能练就我们的内功,让我们对 Qt 的编程环境了如指掌。Windows 和 Linux 下 Qt 安装目录的结构非常相似,我们以 Windows 为例进行讲解,Linux 不再赘述。 不同版本 Qt 的安装目录结构大同小异,本节我们以[详细]
-
知晓一下Qt用到的开发工具
所属栏目:[语言] 日期:2022-07-16 热度:163
Qt 不是凭空产生的,它是基于现有工具链打造而成的,它所使用的编译器、链接器、调试器等都不是自己的,Qt 官方只是开发了上层工具。下面我们分几个部分讲解 Qt 使用到的工具链。 GNU 工具集 在上个世纪八十年代,计算机都是奢侈品,操作系统里最著名的是[详细]
-
Qt编程涉及的术语与名词
所属栏目:[语言] 日期:2022-07-16 热度:62
本节我们来介绍一下使用 Qt 编程过程中常用的术语和名字,它们不一定专属于 Qt,在其它的 C/C++ 开发过程中也会使用到。 Project Project 的中文翻译是项目或者工程,这里的项目是指为实现某个相对独立功能的程序代码合集,这些代码不单单是放在一块,而是[详细]
-
Qt Creator的初步利用
所属栏目:[语言] 日期:2022-07-16 热度:175
启动 Qt Creator, Qt Creator 的界面很简洁。上方是主菜单栏,左侧是主工具栏,窗口的中间部分是工作区。根据设计内容不同,工作区会显示不同的内容。 图 1 是在左侧主工具栏单击Welcome(欢迎)按钮后显示实例的界面。这时工作区的左侧有 Projects、Exam[详细]
-
编辑第一个Qt程序
所属栏目:[语言] 日期:2022-07-16 热度:193
学习一种编程语言或编程环境,通常会先编写一个Hello World程序。我们也用 Qt Creator 编写一个Hello World程序,以初步了解 Qt Creator 设计应用程序的基本过程,对使用 Qt Creator 编写 Qt C++ 应用程序建立初步的了解。 新建一个项目 单击 Qt Creator[详细]
-
解析第一个Qt程序
所属栏目:[语言] 日期:2022-07-16 热度:60
前面章节中,通过在 xxx.ui 文件中拖拽 Label 组件,设计出了一个显示 Hello,World! 的窗口 本节我们完全舍弃 xxx.ui 文件,亲手编写代码实现界面。 创建项目 首先,打开 Qt Creator 并创建一个 Qt Widgets Application 项目,创建过程可以参考 《编写第一[详细]
-
UE4对电脑配置的需要
所属栏目:[语言] 日期:2022-07-16 热度:138
正是因为 UE4 有着强悍的渲染效果,所以它所带来的硬件负担也会比其他的游戏引擎要大,这就要求大家的电脑配置不能太低,否则运行会变得缓慢。 大型游戏都是非常消耗资源的,只有配置高的电脑才能玩的流畅。 UE4 官方推荐的软硬件配置 操作系统 Win10 64[详细]
-
UE4新创项目
所属栏目:[语言] 日期:2022-07-16 热度:77
打开 UE4 启动器,选择 4.21.2 版本的虚幻引擎,点击启动按钮。 项目这一栏存放着你新建后的项目。我们点击新建项目,点击C++,选择基础代码,选择没有初学者内容,然后写上项目名字,注意不能有中文,然后点击创建项目。 「蓝图」是虚幻引擎为开发者开发[详细]
-
UE4新设人物和地图模式
所属栏目:[语言] 日期:2022-07-16 热度:78
在 UE4 中,每一个世界(World)有多个 Level(关卡),而每个关卡又可以设定自己的 GameMode(游戏模式),从而控制游戏的玩法。 1) 打开 UE4 编辑器,我们点击左下角的显示/隐藏资源面板。 显示/隐藏面板 2) 点击 C++类 ,选中GameProject 文件夹,在右[详细]
-
UE4设定默认游戏模式和关卡
所属栏目:[语言] 日期:2022-07-16 热度:106
UE4设定默认游戏模式和关卡: 1) 首先我们回到 VS 编辑器,在内容浏览器里面选择内容(Content): 2) 新建一个存放资源的文件夹名为Assest,然后在Assest目录下创建一个Maps文件夹,表示存放我们的地图。 3) 点击 保存关卡: 4) 在右边的窗口把DefaultGameM[详细]
-
UE4制定默认角色和控制器
所属栏目:[语言] 日期:2022-07-16 热度:200
上一节我们设置了默认地图和关卡,这一节我们来设置默认的角色和控制器和默认地图不一样,默认角色和控制器需要设置在 GameMode 里面。 在APlayingGameModeBase.cpp文件中创建构造函数实现,然后在 #include PlayingGameModeBase.h 头文件的下面添加 #incl[详细]
-
UE4设立人物移动和人物视角
所属栏目:[语言] 日期:2022-07-16 热度:184
本节我们先讲解 UE4 人物移动的设置,然后再讲解 UE4 人物视角的设置。 UE4 设置人物移动 1) 打开 UE4 编辑器,点击编辑然后点击项目设置: 2) 设置完成后,我们打开 VS 编辑器,在PlayingCharacter.h文件下声明 4 个函数: 这四个函数就是我们要实现移动[详细]
-
UE4达成人物跳跃
所属栏目:[语言] 日期:2022-07-16 热度:121
这一节我们来实现人物的跳跃。 1) 首先我们打开 UE4 编辑器,点击项目设置,点击输入,添加 BindAction 类型的按键绑定,名字为 Jump,按键是空格键。 2) 在 SetupPlayerInputComponent 函数里面绑定按键输入: void APlayingCharacter::SetupPlayerInputC[详细]
-
UE4增加人物模型
所属栏目:[语言] 日期:2022-07-16 热度:192
在正式使用 UE4 添加人物模型之前,我们先来解释几个概念。 通过上面的介绍,我们已经知道需要通过添加组件来添加人物模型。那么我们要如何在 C++ 里面添加组件呢? 1) 首先打开 VS 编辑器,在 APlayingCharacter.h 文件尾部下入以下代码: //这个是骨骼模[详细]
-
UE4增添人物摄像机
所属栏目:[语言] 日期:2022-07-16 热度:68
在这一节中,我们需要添加两个组件分别是摄像机弹簧臂组件和摄像机组件。 摄像机弹簧臂组件 摄像机弹簧臂组件,可以想象成是我们的手臂和手。手拿着摄像机,当我们想移动摄像机的时候,我们移动的是我们的手臂而不是摄像机。 1) 打开VS编辑器,在PlayingCh[详细]
-
UE4添置人物动画之状态机
所属栏目:[语言] 日期:2022-07-16 热度:155
这一节我们创建一个动画蓝图并在C++中把它绑定到角色身上 。 状态机 状态机是可以让动画过渡到另一个动画的工具,它大大简化了动画设计流程。 1) 在 UE4 编辑器中,我们以 AnimInstance 为父类创建一个名为 CharacterAnimInstance 的子类。 2) 进入到我们[详细]
-
C++ STL迭代器适配器是啥
所属栏目:[语言] 日期:2022-07-16 热度:99
通过学习 C++ STL 标准库中的容器我们知道,无论是序列式容器还是关联式容器(包括哈希容器),要想遍历容器中存储的数据,就只能用使用该容器模板类中提供的迭代器。 《C++ STL迭代器》一节提到,C++ STL 标准库中迭代器大致分为 5 种类型,分别是输入迭[详细]
-
C++ STL 反向迭代器适配器 reverse_iterator 说明
所属栏目:[语言] 日期:2022-07-16 热度:98
我们知道,C++ 11 的 STL 标准库提供有 4 种迭代器适配器,本节开始将一一介绍它们的功能和用法,这里先讲解反向迭代器适配器。 反向迭代器适配器(reverse_iterator),可简称为反向迭代器或逆向迭代器,常用来对容器进行反向遍历,即从容器中存储的最后[详细]