UEC++学习之--GameInstance

本文介绍了如何在UE4中创建并设置GameInstance的C++类,包括继承GameInstance、配置Project Settings以及在蓝图中使用GameInstance的方法,同时提及了如何处理多个单例的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 创建和设置

创建继承自 GameInstance 的C++类

   

头文件里加上
UCLASS(BlueprintType, Blueprintable)

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Engine/GameInstance.h"
#include "MyGameInstance.generated.h"

/**
 * 
 */
UCLASS(BlueprintType, Blueprintable)
class EXERCISE_API UMyGameInstance : public UGameInstance
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
		float health = 10.0f;
};

然后打开Project Settings -> Maps & Modes ->

### UE C++ 中使用自定义日期格式 `yyyy-MM-dd` 的方法 在 Unreal Engine (UE) 使用 C++ 实现自定义日期格式化功能时,可以利用引擎内置的时间处理类来完成这一操作。具体来说,FDateTime 类提供了丰富的 API 来创建、修改以及格式化时间。 对于将当前时间或者其他指定时间按照特定格式输出的需求,下面是一个简单的例子展示如何把 FDateTime 对象转换成字符串并应用 `yyyy-MM-dd` 这样的格式: ```cpp #include "Misc/DateTime.h" // 获取当前时间作为示例 FDateTime Now = FDateTime::Now(); // 定义格式化的模板 TCHAR FormatString[] = TEXT("%Y-%m-%d"); // 将 FDateTime 转换成格式化的字符串表示形式 FString FormattedDate = Now.ToString(FormatString); // 输出结果以便验证正确性 UE_LOG(LogTemp, Log, TEXT("Formatted Date: %s"), *FormattedDate); ``` 上述代码片段展示了怎样通过调用 ToString 函数传入一个包含年份 (`%Y`)、月份(`%m`) 和日(`%d`)占位符的字符串模式来获得期望的结果[^4]。 需要注意的是,在某些情况下可能会遇到由于时区差异引起的时间偏差问题。如果发现存在这样的误差,则应该考虑调整 UTC 时间偏移量以匹配本地实际时间。 #### 处理时区差异的方法 当涉及到不同地区之间的时间同步时,可能需要额外设置时区信息。Unreal Engine 提供了 SetFromUTCOffset() 方法允许开发者手动设定相对于协调世界时(UTC)的小时数差值。这有助于确保所显示的时间准确无误地反映了用户的当地时间环境。 ```cpp int32 OffsetHours = 8; // 假设目标区域位于东八区 FDateTime LocalTime = FDateTime::UtcNow().SetFromUTCOffset(Timespan(0, OffsetHours)); ``` 以上就是关于 UE C++ 下实现 `yyyy-MM-dd` 格式的介绍及注意事项说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值