-
Linux Qt cannot find -lGL错误完美解决方法
所属栏目:[语言] 日期:2022-07-17 热度:145
对于很多 Linux 发行版本,Qt 安装完成后如果直接编译或者运行项目,会出现cannot find -lGL错误, 这是因为 Qt 找不到 OpenGL 的动态链接库(libGL.so)。在《Linux Qt安装》一节中我们说过,OpenGL 在大部分 Linux 发行版中都是默认安装的,包括 Ubuntu、C[详细]
-
解密Qt安装目录的构架
所属栏目:[语言] 日期:2022-07-17 热度:161
了解 Qt 安装目录的结构虽然不是编程必须的,但是它能练就我们的内功,让我们对 Qt 的编程环境了如指掌。Windows 和 Linux 下 Qt 安装目录的结构非常相似,我们以 Windows 为例进行讲解,Linux 不再赘述。 不同版本 Qt 的安装目录结构大同小异,本节我们以 Q[详细]
-
知晓一下Qt用到的开发工具
所属栏目:[语言] 日期:2022-07-17 热度:71
Qt 不是凭空产生的,它是基于现有工具链打造而成的,它所使用的编译器、链接器、调试器等都不是自己的,Qt 官方只是开发了上层工具。下面我们分几个部分讲解 Qt 使用到的工具链。 GNU 工具集 在上个世纪八十年代,计算机都是奢侈品,操作系统里最著名的是 Un[详细]
-
Qt编程涉及的术语与名词
所属栏目:[语言] 日期:2022-07-17 热度:63
本节我们来介绍一下使用 Qt 编程过程中常用的术语和名字,它们不一定专属于 Qt,在其它的 C/C++ 开发过程中也会使用到。 Project Project 的中文翻译是项目或者工程,这里的项目是指为实现某个相对独立功能的程序代码合集,这些代码不单单是放在一块,而是有[详细]
-
Qt Creator的初步利用
所属栏目:[语言] 日期:2022-07-17 热度:167
启动 Qt Creator, Qt Creator 的界面很简洁。上方是主菜单栏,左侧是主工具栏,窗口的中间部分是工作区。根据设计内容不同,工作区会显示不同的内容。 图 1 是在左侧主工具栏单击Welcome(欢迎)按钮后显示实例的界面。这时工作区的左侧有 Projects、Exampl[详细]
-
编辑第一个Qt程序
所属栏目:[语言] 日期:2022-07-17 热度:136
学习一种编程语言或编程环境,通常会先编写一个Hello World程序。我们也用 Qt Creator 编写一个Hello World程序,以初步了解 Qt Creator 设计应用程序的基本过程,对使用 Qt Creator 编写 Qt C++ 应用程序建立初步的了解。 新建一个项目 单击 Qt Creator 的[详细]
-
解析第一个Qt程序
所属栏目:[语言] 日期:2022-07-17 热度:96
前面章节中,通过在 xxx.ui 文件中拖拽 Label 组件,设计出了一个显示 Hello,World! 的窗口 本节我们完全舍弃 xxx.ui 文件,亲手编写代码实现界面。 创建项目 首先,打开 Qt Creator 并创建一个 Qt Widgets Application 项目,创建过程可以参考 《编写第一个[详细]
-
UE4对电脑配置的需要
所属栏目:[语言] 日期:2022-07-16 热度:63
正是因为 UE4 有着强悍的渲染效果,所以它所带来的硬件负担也会比其他的游戏引擎要大,这就要求大家的电脑配置不能太低,否则运行会变得缓慢。 大型游戏都是非常消耗资源的,只有配置高的电脑才能玩的流畅。 UE4 官方推荐的软硬件配置 操作系统 Win10 64 位[详细]
-
UE4新创项目
所属栏目:[语言] 日期:2022-07-16 热度:183
打开 UE4 启动器,选择 4.21.2 版本的虚幻引擎,点击启动按钮。 项目这一栏存放着你新建后的项目。我们点击新建项目,点击C++,选择基础代码,选择没有初学者内容,然后写上项目名字,注意不能有中文,然后点击创建项目。 「蓝图」是虚幻引擎为开发者开发的[详细]
-
UE4新设人物和地图模式
所属栏目:[语言] 日期:2022-07-16 热度:170
在 UE4 中,每一个世界(World)有多个 Level(关卡),而每个关卡又可以设定自己的 GameMode(游戏模式),从而控制游戏的玩法。 1) 打开 UE4 编辑器,我们点击左下角的显示/隐藏资源面板。 显示/隐藏面板 2) 点击 C++类 ,选中GameProject 文件夹,在右边[详细]
-
UE4设定默认游戏模式和关卡
所属栏目:[语言] 日期:2022-07-16 热度:93
UE4设定默认游戏模式和关卡: 1) 首先我们回到 VS 编辑器,在内容浏览器里面选择内容(Content): 2) 新建一个存放资源的文件夹名为Assest,然后在Assest目录下创建一个Maps文件夹,表示存放我们的地图。 3) 点击 保存关卡: 4) 在右边的窗口把DefaultGameMod[详细]
-
UE4制定默认角色和控制器
所属栏目:[语言] 日期:2022-07-16 热度:128
上一节我们设置了默认地图和关卡,这一节我们来设置默认的角色和控制器和默认地图不一样,默认角色和控制器需要设置在 GameMode 里面。 在APlayingGameModeBase.cpp文件中创建构造函数实现,然后在 #include PlayingGameModeBase.h 头文件的下面添加 #includ[详细]
-
UE4设立人物移动和人物视角
所属栏目:[语言] 日期:2022-07-16 热度:99
本节我们先讲解 UE4 人物移动的设置,然后再讲解 UE4 人物视角的设置。 UE4 设置人物移动 1) 打开 UE4 编辑器,点击编辑然后点击项目设置: 2) 设置完成后,我们打开 VS 编辑器,在PlayingCharacter.h文件下声明 4 个函数: 这四个函数就是我们要实现移动功[详细]
-
UE4达成人物跳跃
所属栏目:[语言] 日期:2022-07-16 热度:179
这一节我们来实现人物的跳跃。 1) 首先我们打开 UE4 编辑器,点击项目设置,点击输入,添加 BindAction 类型的按键绑定,名字为 Jump,按键是空格键。 2) 在 SetupPlayerInputComponent 函数里面绑定按键输入: void APlayingCharacter::SetupPlayerInputCom[详细]
-
UE4增加人物模型
所属栏目:[语言] 日期:2022-07-16 热度:82
在正式使用 UE4 添加人物模型之前,我们先来解释几个概念。 通过上面的介绍,我们已经知道需要通过添加组件来添加人物模型。那么我们要如何在 C++ 里面添加组件呢? 1) 首先打开 VS 编辑器,在 APlayingCharacter.h 文件尾部下入以下代码: //这个是骨骼模型[详细]
-
UE4增添人物摄像机
所属栏目:[语言] 日期:2022-07-16 热度:110
在这一节中,我们需要添加两个组件分别是摄像机弹簧臂组件和摄像机组件。 摄像机弹簧臂组件 摄像机弹簧臂组件,可以想象成是我们的手臂和手。手拿着摄像机,当我们想移动摄像机的时候,我们移动的是我们的手臂而不是摄像机。 1) 打开VS编辑器,在PlayingChar[详细]
-
UE4添置人物动画之状态机
所属栏目:[语言] 日期:2022-07-16 热度:72
这一节我们创建一个动画蓝图并在C++中把它绑定到角色身上 。 状态机 状态机是可以让动画过渡到另一个动画的工具,它大大简化了动画设计流程。 1) 在 UE4 编辑器中,我们以 AnimInstance 为父类创建一个名为 CharacterAnimInstance 的子类。 2) 进入到我们的[详细]
-
C++ STL unordered_map删去元素 erase 和clear
所属栏目:[语言] 日期:2022-07-15 热度:68
C++ STL 标准库为了方便用户可以随时删除 unordered_map 容器中存储的键值对,unordered_map 容器类模板中提供了以下 2 个成员方法: erase():删除 unordered_map 容器中指定的键值对; clear():删除 unordered_map 容器中所有的键值对,即清空容器。 本节[详细]
-
C++ STL unordered_multimap容器细说
所属栏目:[语言] 日期:2022-07-15 热度:188
C++ STL 标准库中,除了提供有 unordered_map 无序关联容器,还提供有和 unordered_map 容器非常相似的 unordered_multimap 无序关联容器。 和 unordered_map 容器一样,unordered_multimap 容器也以键值对的形式存储数据,且底层也采用哈希表结构存储各个键[详细]
-
C++ STL unordered_set容器完全战略
所属栏目:[语言] 日期:2022-07-15 热度:88
我们知道,C++ 11 为 STL 标准库增添了 4 种无序(哈希)容器,前面已经对 unordered_map 和 unordered_multimap 容器做了详细的介绍,本节再讲解一种无序容器,即 unordered_set 容器。 unordered_set 容器,可直译为无序 set 容器,即 unordered_set 容器[详细]
-
C++ STL unordered_multiset容器说明
所属栏目:[语言] 日期:2022-07-15 热度:160
前面章节详细地介绍了 unordered_set 容器的特定和用法,在此基础上,本节再介绍一个类似的 C++ STL 无序容器,即 unordered_multiset 容器。 所谓类似,指的是 unordered_multiset 容器大部分的特性都和 unordered_set 容器相同,包括: unordered_multiset[详细]
-
什么叫做适配器 C++ STL容器适配器详解
所属栏目:[语言] 日期:2022-07-15 热度:157
在详解什么是容器适配器之前,初学者首先要理解适配器的含义。 其实,容器适配器中的适配器,和生活中常见的电源适配器中适配器的含义非常接近。我们知道,无论是电脑、手机还是其它电器,充电时都无法直接使用 220V 的交流电,为了方便用户使用,各个电器厂[详细]
-
C++ stack STL stack 容器适配器用法简介
所属栏目:[语言] 日期:2022-07-15 热度:55
stack 栈适配器是一种单端开口的容器(如图 1 所示),实际上该容器模拟的就是栈存储结构,即无论是向里存数据还是从中取数据,都只能从这一个开口实现操作。 创建 stack 适配器,大致分为如下几种方式。 1) 创建一个不包含任何元素的 stack 适配器,并采用[详细]
-
C++ STL queue容器适配器解析
所属栏目:[语言] 日期:2022-07-15 热度:150
和 stack 栈容器适配器不同,queue 容器适配器有 2 个开口,其中一个开口专门用来输入数据,另一个专门用来输出数据。 这种存储结构最大的特点是,最先进入 queue 的元素,也可以最先从 queue 中出来,即用此容器适配器存储数据具有先进先出(简称 FIFO )的[详细]
-
C++ STL priority_queue容器适配器剖析
所属栏目:[语言] 日期:2022-07-15 热度:132
priority_queue 容器适配器模拟的也是队列这种存储结构,即使用此容器适配器存储元素只能从一端进(称为队尾),从另一端出(称为队头),且每次只能访问 priority_queue 中位于队头的元素。 但是,priority_queue 容器适配器中元素的存和取,遵循的并不是 F[详细]