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



Pdf көрінісі
бет234/252
Дата06.01.2022
өлшемі12,25 Mb.
#11940
1   ...   230   231   232   233   234   235   236   237   ...   252
Отбрасывание игрока 
Чтобы добавить игроку отбрасывание, я добавил переменную член в класс Avatar и 
назвал её knockback – отбрасывание. Отбрасывание происходит, когда аватар 
получает ранение: 
FVector knockback; // в классе AAvatar 
Перед  тем  как  обдумать  направление  отбрасывание  игрока,  когда  он  получает 
удар,  нам  нужно  добавить  код  к  AAvatar::TakeDamage.  Вычисляем  направление 
вектора  со  стороны  атакующего  к  игроку  и  сохраняем  этот  вектор  в  переменной 
knockback:  
float AAvatar::TakeDamage(float Damage, struct FDamageEvent const& 
DamageEvent, AController* EventInstigator, AActor* DamageCauser) 

// 
добавляем отбрасывание, которое применятся в нескольких кадрах 
knockback = GetActorLocation() - DamageCauser- >GetActorLocation(); 
knockback.Normalize(); 
knockback *= Damage * 500; // 
отрасывание пропорциональное урону 

В AAvatar::Tick, мы применяем отбрасывание к положению аватара:  
void AAvatar::Tick( float DeltaSeconds ) 

Super::Tick( DeltaSeconds ); 
// 
применяем вектор отбрасывания 
AddMovementInput( knockback, 1.f ); 
// 
делим пополам объём отбрасывания каждый кадр 
knockback *= 0.5f; 



269 | 
С т р а н и ц а
 
 
Поскольку  вектор  отбрасывания  уменьшается    каждым  кадром,    слабеет  со 
временем, пока вектор отбрасывания не обновится с очередным ударом.  
Выводы
  
В  этой  главе,  мы  исследовали,  как  создавать  экземпляры  монстров  на  экране, 
которые  бегают  за  игроком  и  нападают  на  него.  В  следующей  главе,  мы  дадим 
игроку  способность  обороняться,  позволяя  ему  посылать  заклинания,  которые 
нанося урон монстрам. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


270 | 
С т р а н и ц а
 
 


Достарыңызбен бөлісу:
1   ...   230   231   232   233   234   235   236   237   ...   252




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

    Басты бет