UE4 C++学习笔记之初识Character

任务:创建C++角色类,并增加控制角色移动跳跃,鼠标镜头转向功能第一步、项目设置输入添加相应的轴映射和操作映射第二步、新建C++角色类Man,并修改相应代码Man.h代码如下:#pragma once#include "CoreMinimal.h"#include "GameFramework/Character.h"#include "Man.generated.h"UCLASS()class LEARNTEST_API AMan : public ACharacter
分类: 其他 发布时间: 10-16 22:08 阅读次数: 0

UE4 C++学习笔记之初识时间轴,定时器

任务:在场景中做一个开关门,角色踩上开关后,门打开,离开开关2s后门自动关闭第一步、新建一个C++ Actor类命名为DoorSwitch,并编写相应代码DoorSwitch.h代码如下:// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#..
分类: 其他 发布时间: 10-16 22:08 阅读次数: 0

UE4 C++学习笔记之动态创建Actor

任务:游戏开始时,在场景中某一限定区域内生成一个Creature类第一步、新建一个C++ Actor类SpawnVolumeSpawnVolume.h代码如下:#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "SpawnVolume.generated.h"UCLASS()class LEARNTEST_API ASpawnVolume : public AActor{
分类: 其他 发布时间: 10-16 22:08 阅读次数: 0

UE4 C++学习笔记之浮动平台

任务:创建能在场景中按固定周期做上下浮动的Actor以Actor为父类,新建C++类FloatPlatformFloatPlamform.h代码如下:#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "FloatPlatform.generated.h"UCLASS()class LEARNTEST_API AFloatPlatform : public AActor{ G
分类: 其他 发布时间: 10-16 22:08 阅读次数: 0

UE4 C++学习笔记之场景物品

任务:在场景中创建一个能与角色互动的金币,当角色与金币发生重叠时,金币消失并播放相应特效第一步、以Actor为基类,新建C++类ItemItem.h代码如下:#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "Item.generated.h"UCLASS()class LEARNTEST_API AItem : public AActor{ GENERATED_BODY(
分类: 其他 发布时间: 10-16 22:07 阅读次数: 0

UE4 C++学习笔记之使用UMG(上)

任务:使用UMG创建UI,并将其显示在游戏界面第一步:创建相应的控件蓝图类并编辑第二步、以PlayController为基类,创建新的C++类,命名为MainPlayerController,在该类中实现调用UIMainPlayerController.h代码如下:// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMi
分类: 其他 发布时间: 10-16 22:07 阅读次数: 0

UE4 C++学习笔记之使用UMG(中)

任务:将界面中的UI血条,金币数量显示与玩家数据进行关联绑定,并编写相关的游戏逻辑一、将血条与玩家血量关联,并制作与炸弹的互动(碰到炸弹血量减少)第一步、在角色类(我这里是Man)中添加相关变量Man.h关键代码如下:public: //声明浮点型变量,用来储存角色当前生命值 UPROPERTY(EditAnywhere, BlueprintReadWrite) float Health; //声明浮点型变量,用来储存最大的生命值 UPROPERT
分类: 其他 发布时间: 10-16 22:07 阅读次数: 0

UE4 C++学习笔记之使用UMG(下)

任务:将UI界面中的体力条与玩家体力值相关联,并制作相关的体力消耗机制第一步、项目设置添加相关操作映射Sprint第二步、在C++角色类中(我这里是Man)修改相关代码Man.h关键部分代码如下://定义枚举类型EStatus,表示当前玩家状态,有正常和加速两种状态UENUM(BlueprintType)enum class EStatus : uint8{ ES_Normal UMETA(DisplayName="Normal"), ES_Sprint UMETA(Disp
分类: 其他 发布时间: 10-16 22:07 阅读次数: 0

UE4 C++学习笔记之拾取物品

任务:以Item类为父类,创建Weapon类,玩家在场景中可拾取该物品第一步、角色骨骼添加武器插槽第二步、编写Weapon类相关代码Weapon.h代码如下:// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Item.h"#include "Weapon.generated.h"
分类: 其他 发布时间: 10-16 22:06 阅读次数: 0

UE4 C++学习笔记之替换物品

任务:给武器修改功能,通过按键拾取并替换原有武器第一步、项目设置添加操作映射第二步、修改相关代码代码修改导图如下:Man.h关键部分代码如下:public: //声明物品类,储存当前重叠的Item类 UPROPERTY() class AItem* ActiveOverlapItem; //声明函数:设置当前武器 UFUNCTION() void SetWeapon(class AWeapon* Weapon); //声明函数...
分类: 其他 发布时间: 10-16 22:06 阅读次数: 0

UE4 C++ FPS多人游戏学习笔记之创建Actor

任务:创建一个Actor类,当它与角色发生重叠时,播放粒子特效FPSObjectiveActor.h代码如下:// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "FPSObjectiveActor.generated.h"cl
分类: 其他 发布时间: 10-16 22:06 阅读次数: 0

Visual Assist 常用命令

alt + O :在头文件与.cpp文件间切换alt + G :在定义与声明间切换ctrl + F :查找
分类: 其他 发布时间: 10-16 22:06 阅读次数: 0

UE4 C++ 编译问题及解决方案汇总

问题1:error LNK2019: 无法解析的外部符号 LNK1120: 1 个无法解析的外部命令原因:使用了某些函数,但是在<项目名.Build.cs>文件中却未添加相关模块。解决方案:在<项目名.Build.cs>文件中添加相关模块。问题2:项目编译成功,但进行Debug时在构造函数某一语句中出现断点原因:可能是执行该语句时引擎有些东西没有加载好。解决方案:将改语句从构造函数剪切至BeginPlay函数中。...
分类: 其他 发布时间: 10-16 22:05 阅读次数: 0

数据结构与算法:初识容器与迭代器

任务:使用Vector容器实现基本的增删减查功能代码如下:#include <iostream>#include <vector>using std::cout;using std::vector;using std::endl;int main(){ vector<int> v; vector<int>::iterator it;//定义迭代器 v.push_back(99); v.push_back(1); v.p
分类: 其他 发布时间: 10-16 22:05 阅读次数: 0

数据结构与算法:希尔排序的C++实现

任务:用C++实现希尔排序代码如下:#include <iostream>#include <vector>#define num 10using namespace std;void Print(int a[], int len);//打印数组信息void Insert_Sort(int a[], int len);//简单插入排序算法(从小到大排序)void Shell_Sort(int a[], int len);//希尔排序(从小到大排序)
分类: 其他 发布时间: 10-16 22:05 阅读次数: 0

数据结构与算法:基数排序的C++实现

任务:利用C++实现基数排序代码如下:#include <iostream>#define NUM 10using namespace std;void Print(int* a, int len);//打印当前数组void RadixSort(int* a, int len, int max);//基数排序int main(){ int a[10] = { 2,4,5,6,3,8,7,1,0,9 }; cout << "before sort: "
分类: 其他 发布时间: 10-16 22:05 阅读次数: 0

数据结构与算法:桶排序的C++实现

任务:利用C++实现桶排序代码如下:#include <iostream>#define NUM 10#define RANGE 999using namespace std;void Print(int a[], int len);//打印数组信息void BucketSort(int a[], int len);//桶排序排序算法(从小到大排序)int main(){ int a[NUM] = { 3,28,19,789,3,5,0,12,156,7 };
分类: 其他 发布时间: 10-16 22:04 阅读次数: 0

数据结构与算法:归并排序的C++实现

任务:利用C++实现归并排序代码如下:#include <iostream>#include <string>#define NUM 10using namespace std;void Print(int a[], int len); // 打印数组信息void Merge(int* a, int l, int m, int r); // 有序数组合并void Recursion(int* a, int l, int r); // 合并递归void
分类: 其他 发布时间: 10-16 22:04 阅读次数: 0

数据结构与算法:二分查找的C++实现

任务:分别用递归和循环两种方式实现二分查找算法(在某有序数组中查找特定的数字并返回其在数组中的下标)代码如下:#include <iostream>#define NUM 20using namespace std;void Print(int* a, int len); // 显示当前数组void BinarySearch_Recursion(int* a, int left,int right,int value); // 二分查找(递归实现)void Binar
分类: 其他 发布时间: 10-16 22:04 阅读次数: 0

数据结构与算法:汉诺塔问题(C++)

任务:利用C++编码解决汉诺塔问题汉诺塔问题简介:相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如下图)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。代码如下:#include <iostream>#define NU
分类: 其他 发布时间: 10-16 22:04 阅读次数: 0