news 2026/9/24 6:36:47

38,关卡管理器初始化改为c++

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
38,关卡管理器初始化改为c++

整体方案总结(AMyLevelManager)

架构目标

  1. BeginPlay在 C++ 完成初始化逻辑,获取 GameInstance、PostProcessVolume、播放背景音乐、开启定时器。

  2. TimeCount 是纯 C++ 普通成员函数,不暴露给蓝图,定时器触发 TimeCount。

  3. TimeCount(C++ 内部)调用子函数TimerSubLogic;仅子函数支持蓝图重写,C++ 提供默认实现。

  4. 背景音乐资源StageLevelSound暴露到蓝图细节面板,编辑器直接选音效,无需改代码。


  5. UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = “Audio”)
    USoundBase* StageLevelSound = nullptr;
    UPROPERTY(BlueprintReadWrite, Category = “LevelManager”)
    UMyGameInstance* gameIns = nullptr;

    UPROPERTY(BlueprintReadWrite, Category = “LevelManager”)
    APostProcessVolume* pp = nullptr;
    FTimerHandle TimerHandle_level;
    void TimeCount();
    // 扩展入口:蓝图 / C++ 均可重写,
    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = “LevelManager”)
    void TimerSubLogic();
    virtual void TimerSubLogic_Implementation() {}

// Called when the game starts or when spawned
void AMyLevelManager::BeginPlay()
{
Super::BeginPlay();

gameIns = Cast<UMyGameInstance>(UGameplayStatics::GetGameInstance(GetWorld())); if (!gameIns) { return; } pp = Cast<APostProcessVolume>(UGameplayStatics::GetActorOfClass(GetWorld(), APostProcessVolume::StaticClass())); SoundManagement(StageLevelSound); GetWorldTimerManager().SetTimer(TimerHandle_level, this, &AMyLevelManager::TimeCount, 1.0f, true);

}

// Called every frame
void AMyLevelManager::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);

}

void AMyLevelManager::TimeCount()
{
TimerSubLogic();
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 6:35:47

中小制造ERP实操避坑指南:GICESY车间落地5大痛点解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/24 6:33:26

自用-提取红外相机相关的关键信息

例如&#xff1a;7050_IMAG0014_S10_N01 位置为CSV文件的第五列 提取编码SXX和NXXlibrary(readr) library(stringr) library(dplyr)# CSV文件路径 input_file <- "C:/Users/HUAWEI/Desktop/我的论文/红外相机文件信息汇总.csv" output_file <- "E:/开题中…

作者头像 李华
网站建设 2026/9/24 6:31:27

G6 Fruchterman 力导向布局实战指南:从基础均匀分布到聚类布局

数据可视化前端图表库 【免费下载链接】G6 ♾ A Graph Visualization Framework in JavaScript. 项目地址&#xff1a; https://gitcode.com/gh_mirrors/g6/G6 点击查看 免费下载 Fruchterman&#xff08;FR&#xff09;力导向布局是图可视化中最经典的布局算法之一&#xff0…

作者头像 李华