无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

UE4筆記2 背景音樂的操作

2022-10-19 12:36 作者:芯無波瀾  | 我要投稿

在播放場景時,常常都會有播放背景音樂的需求,如果要播放背景音樂,可以使用UE4的UAudioComponent組件

在藍(lán)圖中使用:

新建一個HUD藍(lán)圖,命名為MyGameHUD_BP,將MyGameHUD_BP打開,添加組件-AudioComponent,給AudioComponent設(shè)置一個音樂,再添加一個

OnAudioFinished事件(用于播放完了過后重新播放),在里面添加邏輯:

設(shè)置定時器,給定時器分配5秒的事情,是否循環(huán)選擇false,時間到了過后調(diào)用Play方法,組件是剛剛創(chuàng)建的AudioComponent。

然后在BeginPlay事件中添加Play方法,組件是剛剛創(chuàng)建的AudioComponent

將HUD分配給當(dāng)前的GameMode,然后運(yùn)行,這個時候你就會發(fā)現(xiàn)背景音樂就成功響起來了。

在C++中使用:

新建一個HUD類,命名為MyGameHUD

新建一個GameModeBase類,命名為MyGameModeBase

在MyGameModeBase構(gòu)造函數(shù)中添加以下代碼:

HUDClass = MyGameHUD::StaticClass();

頭文件:

#include "Components/AudioComponent.h"

在HUD添加一個成員變量:

class UAudioComponent* BkSoundPlayer;

在HUD構(gòu)造函數(shù)中添加以下代碼:

static ConstructorHelpers::FObjectFinder<USoundCue> BKSoundCueObject(TEXT("SoundCue'/Game/Sounds/HallMenuBKSound.HallMenuBKSound'"));

BkSoundCue = BKSoundCueObject.Object;

BkSoundPlayer = CreateDefaultSubobject<UAudioComponent>(TEXT("BkSoundPlayer"));

BkSoundPlayer->SetupAttachment(RootComponent); //RootComponent是根組件,Actor都會有這個RootComponent可掛載

BkSoundPlayer->SetSound(BkSoundCue); //HallMenuBkSoundCue是一個音樂

BkSoundPlayer->OnAudioFinished.AddDynamic(this,? &MyGameHUD::OnHallMenuBkSoundFinished); //當(dāng)綁定一個播放結(jié)束后事件函數(shù)

游戲開始后播放音樂,那么在MyGameHUD的BeginPlay函數(shù)中添加以下代碼:

BkSoundPlayer->Play(); //播放音樂

事件回調(diào):

void MyGameHUD::OnHallMenuBkSoundFinished()

{

GetWorld()->GetTimerManager().SetTimer(BackgroundSoundTimerHandle, this,

&MyGameHUD::BackgroundSoundTimerHandleCallback, 5.0f, false); //設(shè)置定時器延時5秒,只運(yùn)行一次

}

void MyGameHUD::BackgroundSoundTimerHandleCallback()

{

BkSoundPlayer->Play(); //定時時間到了過后就播放音樂

}

以上就完成了背景音樂的播放

但是要注意的是,在BkSoundPlayer->OnAudioFinished.AddDynamic這句代碼添加的回調(diào)函數(shù)必須得是UFUNCTION,也就是在MyGameHUD類定義的頭文件中,

BackgroundSoundTimerHandleCallback函數(shù)必須得定義成UFUNCTION,如下所示:

UFUNCTION()

void BackgroundSoundTimerHandleCallback();

AudioComponent還能調(diào)整音量等各種關(guān)于聲音的操作,

比如調(diào)節(jié)音量為百分之50:

Adjust Volume Duration:聲音改變需要的時間(自動淡出淡入)

Adjust Volume Level: 聲音音量的百分比大小

BkSoundPlayer->AdjustVolume(0.0f, 0.5f);


UE4筆記2 背景音樂的操作的評論 (共 條)

分享到微博請遵守國家法律
刚察县| 雅江县| 汾阳市| 吉首市| 昂仁县| 大同市| 遂宁市| 南皮县| 筠连县| 石楼县| 永兴县| 杨浦区| 平乐县| 静乐县| 象山县| 定陶县| 安平县| 灵宝市| 忻州市| 绥中县| 靖宇县| 延寿县| 东宁县| 青田县| 龙南县| 石台县| 江阴市| 东台市| 陈巴尔虎旗| 项城市| 定兴县| 庆城县| 达孜县| 渝北区| 九江县| 塔城市| 贵阳市| 唐河县| 潞西市| 剑阁县| 修武县|