UDN
Search public documentation:
UnrealScriptControlStructuresKR
English Translation
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
언리얼스크립트 제어 구조
문서 변경내역: Tim Sweeney 원저. 홍성진 번역.
개요
// 아주 단순한 "if" 예제입니다.
if( LightBrightness < 20 )
'log( "My light is dim" );
// 조금 단순한 "if" 예제입니다.
if( LightBrightness < 20 )
{
'log( "My light is dim" );
'log( "Brightness ="@LightBrightness );
}
선택 구조
If 문
if 문은 일정한 조건이 만족되면 코드를 실행시킵니다. 가장 간단한 형태는if
문에 조건이 하나 달린 경우입니다. 여러 조건을 검사하려면 첫 if
문 뒤에 else if
문을 사용하여 조건을 각각 붙이면 됩니다. 마지막으로 모든 것을 잡는 else 문을 사용하여, 앞서 만족된 조건이 없는 경우에 실행시킬 코드 블럭을 지정할 수 있습니다.
// 단순한 "if" 예제입니다. if( LightBrightness < 20 ) log( "My light is dim" ); // "if-else" 예제입니다. if( LightBrightness < 20 ) log( "My light is dim" ); else log( "My light is bright" ); // "if-else if-else" 예제입니다. if( LightBrightness < 20 ) log( "My light is dim" ); else if( LightBrightness < 40 ) log( "My light is medium" ); else if( LightBrightness < 60 ) log( "My light is kinda bright" ); else log( "My light is very bright" ); // 대괄호가 포함된 "if" 예제입니다. if( LightType == LT_Steady ) { log( "Light is steady" ); } else { log( "Light is not steady" ); }
Switch 문
switch 문은 한 표현식 값에 따라 각기 다른 코드를 실행하는 데 사용됩니다. 이 구조는swtich
키워드에다 괄호 안에 변수나 표현식을 넣는 것으로 시작됩니다. 올 수 있는 여러가지 값들은 case
키워드에 값과 콜론(:)을 붙여 지정합니다. 각각의 케이스에는, switch 표현식의 값이 case 의 값에 일치할 경우 실행시킬 문을 몇이든 넣을 수 있습니다. break
명령은 실행을 중지하고 switch 문을 빠져나가는 데 씁니다. break
명령이 없으면 swtich 문 끝까지 계속해서 통과시켜가며 실행합니다. 옵션인 default
키워드를 case 를 지정하던 것과 같은 식으로 사용하면, switch 표현식에 일치하는 case 가 없는 경우에 실행시킬 코드를 지정할 수 있습니다.
// switch-case 예제입니다. function TestSwitch() { // 아래 case 문 중 하나를 실행합니다. // LightType 값에 따라서요. switch( LightType ) { case LT_None: log( "There is no lighting" ); break; case LT_Steady: log( "There is steady lighting" ); break; case LT_Backdrop: log( "There is backdrop lighting" ); break; default: log( "There is dynamic" ); break; } }
// switch-case 예제입니다. function TestSwitch2() { switch( LightType ) { case LT_None: log( "There is no lighting" ); break; case LT_Steady: // LT_Backdrop 케이스로 통과됩니다. case LT_Backdrop: log( "There is lighting" ); break; default: log( "Something else" ); break; } }
반복 구조
For 루프
for 루프는 일정한 조건이 충족될 때까지 코드 블럭을 반복합니다. for 루프 안에는 세미콜론(;)으로 구분해서 표현식을 셋 지정해야 합니다. 첫 표현식은 변수를 시작 값으로 초기화시키는 용도입니다. 둘째 표현식은 루프가 매번 반복 실행될 때마다 검사할 조건을 나타냅니다. 이 표현식이 참이면 루프를 실행시킵니다. 거짓이면 루프를 중단합니다. 일반적으로 이 조건은 첫 표현식에서 초기화된 변수의 값을 검사합니다. 셋째 표현식은 각 루프 이후, 조건절을 다시 계산하기 전에 실행되는 항입니다. 일반적으로 어떤 방식으로든 첫 표현식에서 초기화된 변수를 변경합니다. 예를 들어:
// "for" 루프 예제입니다.
function ForExample()
{
local int i;
log( "Demonstrating the for loop" );
for( i=0; i<4; i++ )
{
log( "The value of i is " $ i );
}
log( "Completed with i=" $ i);
}
Demonstrating the for loop The value of i is 0 The value of i is 1 The value of i is 2 The value of i is 3 Completed with i=4
Do 루프
do 루프는 끝 표현식이 참인 동안 코드 블럭을 반복합니다. 코드 블럭이 한 번 실행될 때까지는 표현식이 계산되지 않으므로, 최소한 한 번은 실행된다는 뜻입니다. 주: 언리얼에서는 (do-while
을 사용하는) C/Java 와 달리 do-until
문법을 사용합니다.
// "do" 루프 예제입니다.
function DoExample()
{
local int i;
log( "Demonstrating the do loop" );
do
{
log( "The value of i is " $ i );
i = i + 1;
} until( i == 4 );
log( "Completed with i=" $ i);
}
Demonstrating the do loop The value of i is 0 The value of i is 1 The value of i is 2 The value of i is 3 Completed with i=4
While 루프
while 루프는 시작 표현식이 참인 동안 코드 블럭을 반복합니다. 매번 코드 블럭을 실행하기 전 코드 블럭이 계산되므로, 시작 조건이 충족되지 않으면 루프가 실행되지 않을 수도 있습니다.
// "while" 루프 예제입니다.
function WhileExample()
{
local int i;
log( "Demonstrating the while loop" );
while( i < 4 )
{
log( "The value of i is " $ i );
i = i + 1;
}
log( "Completed with i=" $ i);
}
Demonstrating the do loop The value of i is 0 The value of i is 1 The value of i is 2 The value of i is 3 Completed with i=4
Continue
function ContinueExample() { local int i; log( "Demonstrating continue" ); for( i=0; i<4; i++ ) { if( i == 2 ) continue; log( "The value of i is " $ i ); } log( "Completed with i=" $ i ); }
Demonstrating continue The value of i is 0 The value of i is 1 The value of i is 3 Completed with i=4
Break
function BreakExample() { local int i; log( "Demonstrating break" ); for( i=0; i<10; i++ ) { if( i == 3 ) break; log( "The value of i is " $ i ); } log( "Completed with i=" $ i ); }
Demonstrating break The value of i is 0 The value of i is 1 The value of i is 2 Completed with i=3
Goto
// "goto" 예제입니다.
function GotoExample()
{
log( "Starting GotoExample" );
goto Hither;
Yon:
log( "At Yon" );
goto Elsewhere;
Hither:
log( "At Hither" );
goto Yon;
Elsewhere:
log( "At Elsewhere" );
}
Starting GotoExample At Hither At Yon At Elsewhere