Изучаем С++ создавая игры в ue4 Уилльям Шериф Изучайте программирование С++ с интересным применением реально мира, что позволит вам создавать ваши собственные игры!


Код для вывода сообщения на HUD, если кто-то рядом с NPC



Pdf көрінісі
бет180/252
Дата06.01.2022
өлшемі12,25 Mb.
#11940
1   ...   176   177   178   179   180   181   182   183   ...   252
Код для вывода сообщения на HUD, если кто-то рядом с NPC 
Когда игрок рядом со сферой объёма столкновения NPC, мы выведем сообщение 
на HUD, которое даёт знать игроку, что говорит NPC. 
Вот полное осуществление 
ANPC::Prox_Implementation

void ANPC::Prox_Implementation( AActor* OtherActor, UPrimitiveComponent* 
OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult & 
SweepResult ) 

// 
если актор, с которым произошло пересечение, это не игрок, 
// 
вы просто должны вернуться из функции 
if( Cast( OtherActor ) == nullptr ) 

   return; 

APlayerController* PController = GetWorld()- >GetFirstPlayerController(); 
if( PController ) 

AMyHUD * hud = Cast( PController->GetHUD() ); 
hud->addMessage( Message( NpcMessage, 5.f, FColor::White ) ); 

}
  
Первое,  что  мы  делаем  в  функции  это 
приведение  OtherActor  (другой  актор) 
(то,  что  появляется  рядом  с  NPC)  к 
AAvatar.  Приведение  происходит  (и  не 
nullptr),  когда  OtherActor  это  объект 
AAvatar.  Мы  получаем  объект  HUD  (что 
происходит 
с 
прикреплением 
к 
контроллеру 
игрока) 
и 
передаём 
сообщение  от  NPC  на  HUD.  Сообщение 
появляется, 
всегда 
когда 
игрок 
находится  в  пределах  границ    красной 
сферы NPC. 
 
 
 
 
 
 
                Приветствие Оуена 


183 | 
С т р а н и ц а
 
 


Достарыңызбен бөлісу:
1   ...   176   177   178   179   180   181   182   183   ...   252




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет