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



Pdf көрінісі
бет203/252
Дата06.01.2022
өлшемі12,25 Mb.
#11940
1   ...   199   200   201   202   203   204   205   206   ...   252
Байланысты:
аа

Упражнение 
Проверьте  каждую  функцию  движения  с  коротким  циклом  возвращения  if( 
inventoryShowing ) { return;}.  
 
 


217 | 
С т р а н и ц а
 
 
Определение щелчка в инвентарной системе 
Мы  можем  определить  кликает  ли  кто-нибудь  по  нашим  предметам  инвентаря, 
просто  выполнив  проверку  указателя  в  прямоугольнике.  Тест  указателя  в 
прямоугольнике, выполняется проверкой указателя в контенте прямоугольника.  
Добавьте следующую функцию-член в struct Widget
struct Widget 

// .. 
остальная часть структуры такая же как прежде .. 
bool hit( FVector2D p ) 

// +---+ top (0) 
// | | 
// +---+ bottom (2) (bottom > top) 
// L R 
return p.X > left() && p.X < right() && p.Y > top() && p.Y < bottom(); 

}; 
Тест указателя в прямоугольнике выглядит следующим образом: 
 
Итак, нажатие происходит, если p.X выполняет следующие условия: 

 
Справа от 
left() (p.X > left())
 

 
Слева от right() (p.X < right())
 

 
Снизу от top() (p.Y > top())
 

 
Сверху от bottom() (p.Y < bottom())
 
Запомните,  что  в  UE4  (и  визуализация  UI  в  целом)  ось  у  инвертирована.  Другими 
словами,  ось  у  в  UE4  идёт  вниз.  Это  означает,  что  top()  меньше  чем  bottom(),  так 
как начало отсчёта координат (точка (0,0)) находится в верхнем левом углу экрана.  


218 | 
С т р а н и ц а
 
 


Достарыңызбен бөлісу:
1   ...   199   200   201   202   203   204   205   206   ...   252




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

    Басты бет