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


Создание экземпляра заклинания – GetWorld()-



Pdf көрінісі
бет249/252
Дата06.01.2022
өлшемі12,25 Mb.
#11940
1   ...   244   245   246   247   248   249   250   251   252
Создание экземпляра заклинания – GetWorld()-
>SpawnActor() 
Чтобы  создать  объект  Spell  из  блупринта,  нам  нужно  вызвать  функцию 
SpawnActor()  из  объекта  World.  Функция  SpawnActor()  может  принимать  любой 
блуринт и создавать его экземпляр в уровне. И объект Avatar (и вообще-то любой 
объект Actor) может справиться с объектом World в любое время, просто вызывая 
функцию-член GetWorld().  
Строка кода, которая приносит объект Spell  в уровень: 
ASpell *spell = GetWorld()->SpawnActor( bpSpell, FVector(0), FRotator(0) ); 


292 | 
С т р а н и ц а
 
 
В этой строке есть пара вещей, на которые стоит обратить внимание:  

 
bpSpell должен быть созданным блупринтом объекта Spell. Объект  в 
угловых скобках указывает это ожидание.  

 
Новый объект Spell начинает с начала отсчёта координат (0, 0, 0) и применен 
к  нему  без  дополнительного  вращения.  Это  потому  что  мы  прикрепим 
объект  Spell  к  объекту  Avatar,  который  будет  предоставлять  передачу  и 
направление компонентов для объекта Spell.  
If(spell) 
Мы  всегда  тестируем,  если  вызов  SpawnActor()  проходит  успешно, 
проверяя  if(spell).  Если  блупринт  переданный    объекту  CastSpell,  не  является 
блупринтом  основанным  на  классе  ASpell,  то  функция  SpawnActor()  возвращает 
указатель  NULL  вместо  объекта  Spell.  Если  это  происходит,  мы  выводим  на  экран 
сообщение  об  ошибке,  указывающее,  что  что-то  пошлее  неправильно  во  время 
посылания заклинания.  


Достарыңызбен бөлісу:
1   ...   244   245   246   247   248   249   250   251   252




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

    Басты бет