標籤:完成 text 設定 action character cti 顏色 小組件 實現
完成本迷你教程之前,請前往完成以下迷你教程:
·執行個體甜點 Unreal Engine 4迷你教程之如何用C++將紋理繪製在UserWidget的Image小組件上;
目標:實現UMG中的此功能:
在上一次的迷你教程的LearnWidgets工程上進行(如果你不親自動手做的話,只關註標有“重要”的部分即可粗略知道要點)。
第1步:在WidgetMng.h中加入此函數
UFUNCTION() void LearnImage();實現是:void AWidgetMng::LearnImage(){ UImage* MyImage = Cast<UImage>(SlaveWidget->GetWidgetFromName(TEXT("MyImage"))); if (MyImage) { UE_LOG(LogTemp, Warning, TEXT("%s"), *FString("Learning How 2 Use C++ to Change UI")); MyImage->SetColorAndOpacity(FLinearColor(1, 0, 0, 0.5));//【本迷你教程的要點】設定image的ColorandOpacity/*筆者也嘗試過MyImage->ColorAndOpacity = FLinearColor(1, 0, 0, 0.5);這種方式沒有效果;*/ }}
第2步:在LearnWidgetsCharacter中Action1的實現改為:
void ALearnWidgetsCharacter::Action1(){ UE_LOG(LogTemp, Warning, TEXT("%s"), *FString("Action1 ing")); ALearnWidgetsHUD* HUD = Cast<ALearnWidgetsHUD>(UGameplayStatics::GetPlayerController(this, 0)->GetHUD()); if (HUD->WidgetMngs.Num()) { //HUD->WidgetMngs[0]->ChangeImage(HUD->WidgetMngs[0]->T2D); HUD->WidgetMngs[0]->LearnImage(); }}
第3步:效果是這樣的:沒有按下Action1是白色塊,按下之後變成紅色半透明;
——小江村兒的文傑 [email protected] 2017年8月3日11:38:53
執行個體甜點 Unreal Engine 4迷你教程(2)之用C++改變Image小組件的顏色