最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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 背景音樂的操作的評論 (共 條)

分享到微博請遵守國家法律
宁德市| 岳普湖县| 英山县| 海南省| 兴山县| 河北省| 濮阳市| 灵丘县| 木兰县| 浏阳市| 墨玉县| 佛坪县| 年辖:市辖区| 阿巴嘎旗| 延长县| 德惠市| 葵青区| 清原| 佛学| 穆棱市| 藁城市| 饶河县| 宁海县| 烟台市| 白水县| 德惠市| 阳朔县| 诏安县| 读书| 柘城县| 遂溪县| 甘洛县| 平山县| 枣庄市| 昭苏县| 承德县| 沙湾县| 资中县| 苗栗县| 贺兰县| 法库县|