UE5蓝图中播放背景音乐和使用代码播放声音

UE5蓝图中播放背景音乐

1.创建背景音乐Cube

2.勾选looping 循环播放背景音乐

3.在关卡蓝图中
Event BeginPlay-PlaySound2D
Sound选择自己创建的Bgm_Cube

蓝图播放声音方法二:

使用代码播放声音方法一

.h文件中

头文件引用

cpp 复制代码
#include "Kismet/GameplayStatics.h"

头文件声音定义声明

cpp 复制代码
private:
	
	USoundBase* Sound;

.cpp文件中

写在Sets default values中的代码

不写在BeginPlay()中最好,在BeginPlay()中不报错能运行,但是打包之后测试会没有声音

cpp 复制代码
Sound = LoadObject<USoundBase>(NULL, TEXT("'/Game/SnakeAudio/EatFood.EatFood'"));//加载引用虚幻编辑器中的音频,加单引号,不加_C

写在需要播放声音的函数方法中

cpp 复制代码
if (Sound) //避免空指针
{
	UGameplayStatics::PlaySound2D(this, Sound);//播放声音
}

使用代码播放声音方法二

.h文件中

头文件引用

cpp 复制代码
#include "Kismet/GameplayStatics.h"

头文件声音定义声明

cpp 复制代码
private:
	USoundWave* GameOverAudio;
    USoundWave* FoodAudio;

.cpp文件中

写在Sets default values中的代码

不写在BeginPlay()中最好,在BeginPlay()中不报错能运行,但是打包之后测试会没有声音

cpp 复制代码
//加载引用虚幻编辑器中的音频,加单引号,不加_C
auto food = StaticLoadObject(UObject::StaticClass(), nullptr, TEXT("'/Game/SnakeAudio/EatFood.EatFood'"));
auto hit = StaticLoadObject(UObject::StaticClass(), nullptr, TEXT("'/Game/SnakeAudio/Hit.Hit'"));
GameOverAudio = Cast<USoundWave>(hit);
FoodAudio = Cast<USoundWave>(food);

写在需要播放声音的函数方法中

cpp 复制代码
	UGameplayStatics::PlaySound2D(GetWorld(), GameOverAudio, 1.0f);
	UGameplayStatics::PlaySound2D(GetWorld(), FoodAudio, 1.0f);
相关推荐
Qt程序员4 小时前
基于原子操作的 C++ 高并发跳表实现
c++·线程·c/c++·原子操作·无锁编程
_dindong4 小时前
牛客101:链表
数据结构·c++·笔记·学习·算法·链表
蓝创精英团队5 小时前
C++DirectX9坐标系与基本图元之渲染状态(RenderState)_0304
前端·c++·性能优化
筏.k6 小时前
C++ 设计模式系列:生产者-消费者模式完全指南
开发语言·c++·设计模式
LXS_35710 小时前
Day 05 C++ 入门 之 指针
开发语言·c++·笔记·学习方法·改行学it
挂科是不可能出现的12 小时前
最长连续序列
数据结构·c++·算法
mjhcsp13 小时前
C++ int 类型深度解析:从底层实现到实战应用
c++·int
程序员老舅14 小时前
C++参数传递:值、指针与引用的原理与实战
c++·c/c++·值传递·引用传递·指针传递·参数传递机制
liu****15 小时前
8.list的使用
数据结构·c++·算法·list
立志成为大牛的小牛15 小时前
数据结构——二十六、邻接表(王道408)
开发语言·数据结构·c++·学习·程序人生