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



Pdf көрінісі
бет210/252
Дата06.01.2022
өлшемі12,25 Mb.
#11940
1   ...   206   207   208   209   210   211   212   213   ...   252
Байланысты:
аа

Детальная суть движения монстра 
Компьютерные  игры  разбиты  на  детали.  На  предыдущем  изображении 
последовательности  наложенных  кадров,  движение  игрока  (Р)  представлено 
прямо  вверх  на  экране,  маленькими  шажками.  Движение  монстра  также  в 
маленьких  шажках.  В  каждом  кадре,  монстр  выполняет  один  маленький  шаг  в 
сторону  игрока.  Монстр  следует  видимой  кривой  дорожкой,  двигаясь  прямо  туда 
где находится игрок в каждом кадре.  
Чтобы двигать монстра на игрока, нам сначала нужно получить позицию игрока. И 
так как игрок доступен в глобальной функции, UGameplayStatics::GetPlayerPawn, мы 
просто берём наш указатель на игрока, используя эту функцию. Далее мы находим 
указывающий  вектор  из  функции  Monster  (GetActorLocation()),  который  указывает 


234 | 
С т р а н и ц а
 
 
от  монстра  на  аватар.  Чтобы  сделать  это,  вам  нужно  вычесть  местоположение 
монстра из местоположения аватара, как показано на следующем изображении:  
  
Это  простое  математическое  правило  и  его  нужно  запомнить.  Но  часто  оно 
понимается  неправильно.  Чтобы  получить  правильный  вектор,  всегда  вычитайте 
исходный вектор (начальная точка) от целевого вектора (конечная точка). В нашей 
системе,  нам  нужно  вычитать  вектор  Monster  из  вектора  Avatar.  Это  работает, 
потому  что  вычитание  вектора  Monster  из  системы,  двигает  вектор  Monster  к 
началу координат и вектор Avatar будет снизу слева от вектора Monster: 
 
Вычитание  вектора  Monster  из  системы  координат  двигает  вектор  Monster  к 
(0,0)   
 
Обязательно испытайте ваш код. С этого момента монстры будут бегать за вашим 
игроком и толпиться вокруг него. С предыдущим кодом, который выделен, они не 
будут  атаковать.  Они  просто  будут  следовать  за  ним  повсюду,  как  показано  на 
следующем скриншоте: 


Достарыңызбен бөлісу:
1   ...   206   207   208   209   210   211   212   213   ...   252




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

    Басты бет