TIL - Today I Learned : Scope Resolution Operator (::)와 Dot Operator (.)의 차이.
클래스의 참조, 클래스 인스턴스의 참조
오늘의 진도: Section 3: 장애물 공격 49. C++에서 함수 호출하기 ~ 57.멤버 함수 사용
Calling Functions in C++
블루프린트에서 f가 있는 노드는 함수이다
Input Pin : MyVector는 SetActorLocation의 Argument (인자) 이다.
Tick
Game Loop
1. Process Input : 게임 엔진이 플레이어의 인풋을 가져온다
2. Update game state : 입력받은 정보를 게임의 상태를 업데이트한다.
3. Rener to display : 업데이트된 상태를 화면에 표시한다.
Frame : 동영상을 구성하는 여러 그림 중에서 하나의 그림을 프레임이라 함
Frame rate : How many frames per second (FPS) 초당 컴퓨터가 처리하는 프레임 횟수
Tick : Called every frame, 매 프레임마다 게임이 업데이트될 수있도록 작업하는 함수 (== Unity Update)
매 프레임마다 Y축으로 1cm씩 이동하도록 하면
븅븅븅 움직인다.
Local Variables
Scope : How long does the variables live? 변수의 삶 변수의 선언 위치에 따라 유효 범위가 달라진다.
braces {} 중괄호안에서 선언한 변수는 중괄호 안에서만 유효하다.
Tick 함수 안에 LocalVector라는 변수를 선언하고 MyVector로 초기화한 후 Z값을 100증가 시켰다
MyVector는 헤더파일에 선언되있는 변수이고 Y값이 1씩 증가한다.
Y축으로는 계속 이동하지만 Z축으로는 일정하다.
MovingPlatform을 보았을 때 Z값이 100 증가되었다.
Tick 함수가 매 프레임 마다 호출되어 LocalVector가 매 프레임마다 MyVector 값으로 초기화 후 Z값이 100 증가 하기때문에 Z의 값은 100으로 일정하게 유지된다.
Pseudo Code
PseudoCode (의사 코드) : 일반적인 언어로 알고리즘의 절차를 설명한 것
Comments (주석) : 컴파일러에서 무시하는 코드, 메모를 남겨 설명을 적을 수 있음. //으로 시작
Function Return Values
Expression (표현식) : Fragment of code that produces a value, 값을 생성하는 코드 조각
Statement (문) : An action to be performed, 수행되어야 할 동작
Statement는 Expression의 집합이기도 하고 Expression은 더 작은 Expression으로 이루어져있다.
Expression은 값을 계산하거나 객체나 함수를 지정하거나 사이드이펙트를 생성하기 위한 연산자와 피연산자의 절차이고
Statement는 객체를 조작하는 방법이나 순서를 제어하는 요소임
e.g
- MyVector (변수에 있는 값을 가져옴)
- LocaVector.Z + 100; (Z멤버 값을 가져와서 100을 더함)
FVector Locavector = MyVector(표현식 아님, 값을 가져오는게 아님, 걍 C++에 수행할 동작만을 알려줌)- GetActorLocation() (함수 호출하고 반환된 값을 가져오는 표현식)
GetActorLocation() 함수는 현재 액터의 location을 반환하는 함수이다.
Velocity & DeltaTime
DeltaTime : 각 프레임이 실행되는데 걸리는 시간을 알 수 있음. 어떤 값에 DeltaTime을 곱해주면 게임 프레임률을 독립적으로 할 수 있어 프레임률이 다른 컴퓨터에서도 게임이 동일하게 동작하게 할 수 있음
UPROPERY를 사용하여 에디터에 변수를 나타날때 Category를 만들 수 있다.
Scope Resolution Operator
Scope Reslution Operator (범위 지정 연산자) : (::) Double Colon, 클래스의 내부를 참조할 수 있듬
Dot Operator는 클래스 인스터스의 내부를 참조함
FVector Class 내부의 사용 할 수 있는 함수를 보여줌
ViableAnywhere는 에디터 창에서 값을 보여주지만 수정할 수 없게 함
Using Member Function
Normal Vector (법선 벡터) : 벡터의 방향, 크기가 1임
'Unreal Engine > Udemy:UE5 C++ 학습하고 게임 만들기' 카테고리의 다른 글
Unreal Day - 18 - Writing To The Output Log (1) | 2024.04.07 |
---|---|
Unreal Day - 17 - Blueprint Child Class (0) | 2024.04.06 |
Unreal Day - 15 - UPROPERTY (0) | 2024.03.31 |
Unreal Day - 14 - Project Setup (0) | 2024.03.30 |
Unreal Day - 13 - Functions and Blueprint Classes (0) | 2024.03.29 |