클래스 글로벌 변수
- var를 이용해서 선언
함수안의 변수
- 로컬 변수는 local을 이용해서 선언한다.
- 클래스 변수는 var를 이용해서 선언한다.
함수
- 특정 키워드인 function을 써줘서 선언한다.
- 어떤 특정한 반복되는 일을 하나를 묶음으로 만들어주고 필요할 때 마다 사용할 수 있는
어떤 하나의 일을 묶게 된다.
function MyFunction()
{
// 어떤 일을 넣기
}
- 함수는 파라미터 값들을 가질 수 있다.
function int Addition( int A, int B )
{
return A + B;
}
Out 파라미터
- 일반적인 파라미터가 거기에 입력된 변수가 있을 때 그 변수의 복사값을 넘긴다면 Out으로 사용된 경우에는 그 실제 변수가 넘어간다.
function Addition( int A, int B, OUT int C )
{
C = A + B;
}
function TestFunction()
{
local int i, j, Result;
i = 2;
j = 3;
Addition( i, j, Result );
}
Optional
- 디폴트 값이 있어 함수가 파라미터를 가지고 있더라도 따로 값을 입력하지 않아도 그 함수를 호출 가능하다.
function Addition( Optional int A = 2, Optional int B = 3, OUT int C )
{
C = A + B;
}
function TestFunction()
{
local int Result;
Result = Addition( i, j, Result );
}
디폴트값이 지정되어 있을 경우
Add( , j ) 이런식으로 비워놓아도 된다...
Coerce
- 입력된 내용을 강제로 파라미터를 선언할 때 사용한 변수 타입으로 형변환 시키는 것을 의미한다.
언리얼 스크립트 함수 재정의
- 함수는 또 그 함수가 선언된 클래스의 자식 클래스에서 재정의 가능.
- 자식 클래스에서 부모에서 선언된 함수의 내용을 변경하거나 추가한다.
- 보통 재정의는 같은 함수를 통해서 불려지지만 그 자식 클래스들이 서로 다른 의미나 정의를 가지고 있을 때 분리하는 방법에 사용한다.
특정 부모의 함수를 호출하고 싶을 때는
Super(Grandparent).MyFuction();
으로 접근해서 호출해 줄 수 있다.
언리얼 스크립트 함수 형식 지정자들...
- 게임중에 콘솔창을 통해서 불려 질 수 있는 함수를 의미한다.
- 게임 중에 콘솔창에 이 함수의 이름과 만약 파라미터가 있다면 그 파라미터 값도 입력하면 그 내용이 전달되어서 실행된다.
exec function Additive( int A, int B )
{
log( A@"+"@B@"="@A+B);
}
1. 게임 실행중 Tab키를 눌러서 콘솔창을 연다.
2. Additive 3 5를 입력하고 엔터를 입력하면 이 함수가 호출된다.
3. 로그창에 3 + 5 = 8을 표시한다.
Protected
- 함수가 선언된 클래스 안에서나 그 클래스의 자식 클래스들 안에서만 호출될 수 있다.
- 다른 클래스에서 호출해서 사용할 수가 없다.
Private
- Protected와 비슷하지만 이 형식지정자를 가진 함수는 함수가 선언된 클래스에서만 호출될 수 있다.
- 그 클래스의 자식 클래스들에서도 이 함수는 호출할 수 없으며, 오직 그 함수가 선언된 클래스에서만 호출할 수 있다.
- 어떤 함수가 오직 그 클래스안에서만 어떤 목적으로 사용되고 다른 곳에서는 절대 불리지 않도록 보호하고 싶을 때 사용한다.
Singular
- 이 형식 지정자가 붙어 있는 함수는 재귀 호출될 수 없는 함수를 의미한다.
- 함수가 어떤 목적에 의해서 자기 자신을 함수내에서 호출할 수 있는데 이 형식지정자로 선언된 함수는 그것을 허용하지 않는다.
Latent
- 게임이 진행되는 동안 백그라운드에서 실행될 수 있는 함수를 나타낼 때 사용한다.
- native와 같이 선언된 함수에만 사용할 수 있다.
- 이 지정자가 선언된 함수는 state안에서만 호출될 수 있다.
Final
- 자식 클래스 안에서 함수가 재정의되는 것을 막는 데 사용한다.
- 즉, 그 자식 클래스에서 함수가 동작되는 내용을 바꿀 수 없게 된다.
- 어떤 함수를 선언하고 어떻게 동작하도록 정의해 두었을 때 그 내용이 자식 클래스들에 의해서 바뀌지 않기를 원할 때 사용한다.
Iterator
- Actor들 리스트를 전부 돌면서 어떤 작업을 하는 반복문 명령어인 Foreach에서 사용될 수 있는 함수임을 나타낸다.
Simulated
- 클라이언트에서 동작하는 함수
- 클라이언트에서만 동작되기 위해서는 함수를 소유하고 있는 Actor가 ROLE_SimulatedProxy나 ROLE_AutonomousProxy여야 한다.
Client
- 이 형식 지정자를 가진 함수는 실행되기 위해서 클라이언트로 보내질 수 있는 함수를 의미한다.
Server
- 이 형식 지정자를 가진 함수는 실행되기 위해서 서버로 보내질 수 있는 함수를 의미한다.
Reliable
- 네트워크를 통한 서버와 클라이언트 사이의 연결과 replication을 다루는 방법을 정의한다.
- reliable은 꼭 replicate된다는 것을 보장하는 것을 의미한다.
Unreliable
- 네트워크를 통한 서버와 클라이언트 사이의 연결과 replication을 다루는 방법을 정의한다.
- unreliable은 replicate된 것이 네트워크 상태나 대역폭 제한등 여러가지 조건에 의해서 replicate되지 못하고 사라질 수 있다는 것을 의미한다.
Static
- 다른 클래스에서 이 함수를 호출할 때 이 클래스로 생성된 오브젝트가 없더라도 그 클래스 자체를 가지고 호출할 수 있다는 것을 의미한다.
- 그 클래스 내부에 static이 아닌 함수들을 호출할 수 없으며 또한 그 클래스의 글로벌 변수들을 사용할 수 없다.
Event
- native코드에서 호출될 수 있는 함수를 만들자면, 그 함수가 하는 내용은 native에서가 아니라 언리얼 스크립트 내부에서 정의한다.
- 언리얼 스크립트 내부에서 정의된 함수를 native코드에서 호출할 필요가 있을 때 사용한다.
Native
- 언리얼 스크리브에는 함수의 선언만이 있고 실제적인 함수의 내용은 native코드에서 선언한다는 의미이다.
Const
- 이 형식의 지정자는 native형식 지정자와 같이만 사용할 수 있고, 독립적으로 사용될 수 없다.
- C++헤더에 함수가 const선언되도록 해준다.
Noexport
- native형식으로 지정된 함수가 native코드를 위해서 자동으로 선언되는 것을 방지한다.
수학관련 함수
integer관련
- function int Rand( int Max )
Max로 정한 한도내에서 랜덤값을 반환한다.
- function int Min( int A, int B )
A와 B중 작은 수를 반환.
- function int Max( int A, int B )
A와 B중 큰 수를 반환
- function int Clamp( int V, int A, int B )
입력된 값을 A와 B사이의 값으로 제한한다.
- function string ToHex( int A )
입력된 A값을 16진수로 변환한 문자열로 반환한다.
function float Lerp( float A, float B, float Alpha )
- A와 B사이의 값에서 Alpha값만큼의 값을 반환한다.
function float Abs( float A )
- 입력된 A의 절대값을 반환한다.
function int Round( float A )
- 입력된 A의 반올림을 한다.
function int FFloor( float A )
- 입력된 값 A에 내림을 한다.
function int FCeli( float A )
- 입력된 값 A에 올림을 한다.
function float VSize( vector A )
- VSize는 입력된 벡터 A의 크기값을 구한다.
function vector Normal( vector A )
- 입력된 벡터 A의 Normal값을 구한다.
'컴퓨터 공학' 카테고리의 다른 글
UDK 터레인 생성하기 (0) | 2015.11.27 |
---|---|
UDK 트리거 만들기 (0) | 2015.11.27 |
[UDK] Visual Studio 2010에서 UDK 실행하기 -2 (0) | 2015.11.27 |
컴퓨터구조- 캐시메모리 (0) | 2015.11.27 |
[펌]UDK > Unreal Frontend > Launch 실패 (Built with UDK) (0) | 2015.11.27 |