虚幻C++如何获取一个向量长度
时间: 2024-06-10 11:10:07 浏览: 23
在虚幻C++中获取一个向量的长度可以使用UE4提供的FVector类中的函数Size()或SizeSquared()。其中,Size()函数返回向量的长度,SizeSquared()函数返回向量长度的平方,可以根据需要选择使用哪个函数。示例代码如下:
```cpp
FVector MyVector(3.0f, 4.0f, 0.0f);
float VectorLength = MyVector.Size();
float VectorLengthSquared = MyVector.SizeSquared();
```
在上面的代码中,我们定义了一个长度为3,高度为4的向量MyVector,然后使用Size()和SizeSquared()函数获取该向量的长度和长度平方,并将结果分别保存在VectorLength和VectorLengthSquared变量中。
相关问题
虚幻C++读取一个本地txt文件
在虚幻引擎中,可以使用C++的文件操作函数来读取本地的 txt 文件。以下是一个简单的示例代码:
```cpp
#include "Misc/FileHelper.h"
#include "Misc/Paths.h"
// 读取本地的 txt 文件
void ReadLocalFile(FString FilePath)
{
FString FileContent;
FFileHelper::LoadFileToString(FileContent, *FilePath);
UE_LOG(LogTemp, Log, TEXT("文件内容:%s"), *FileContent);
}
// 获取本地的文件路径
FString GetLocalFilePath(FString FileName)
{
FString FilePath = FPaths::ProjectContentDir() + FileName;
return FilePath;
}
// 使用示例
void TestReadLocalFile()
{
FString FileName = "test.txt";
FString FilePath = GetLocalFilePath(FileName);
ReadLocalFile(FilePath);
}
```
在示例代码中,`GetLocalFilePath` 函数用于获取本地的文件路径,`FPaths::ProjectContentDir()` 函数可以获取项目内容目录的路径,`ReadLocalFile` 函数用于读取本地的 txt 文件,`FFileHelper::LoadFileToString` 函数可以将文件内容读取到一个 FString 变量中,最后使用 `UE_LOG` 函数将文件内容输出到日志中。
需要注意的是,如果在虚幻引擎中读取本地文件,需要将文件放置在项目的内容目录下,否则可能会出现读取失败的情况。
虚幻c++ 虚幻TMap
虚幻引擎中的TMap是一种映射容器,用于存储键值对。TMap有两种类型:TMap和TMultiMap。TMap中的键是唯一的,而TMultiMap可以存储多个相同的键。
以下是虚幻引擎中使用TMap的示例代码:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
// 创建一个TMap对象
TMap<int, FString> MyMap;
// 向TMap中添加键值对
MyMap.Add(1, "Apple");
MyMap.Add(2, "Banana");
MyMap.Add(3, "Orange");
// 通过键获取值
FString Value = MyMap[2];
std::cout << "Value for key 2: " << TCHAR_TO_UTF8(*Value) << std::endl;
// 遍历TMap中的所有键值对
for (auto& Pair : MyMap) {
int Key = Pair.Key;
FString Value = Pair.Value;
std::cout << "Key: " << Key << ", Value: " << TCHAR_TO_UTF8(*Value) << std::endl;
}
// 检查TMap中是否存在某个键
bool bHasKey = MyMap.Contains(3);
std::cout << "Does TMap contain key 3? " << (bHasKey ? "Yes" : "No") << std::endl;
// 删除TMap中的键值对
MyMap.Remove(2);
// 清空TMap
MyMap.Empty();
return 0;
}
```
这段代码演示了如何创建TMap对象、添加键值对、通过键获取值、遍历TMap中的所有键值对、检查TMap中是否存在某个键以及删除键值对和清空TMap。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)