- Unreal Development Kit Game Programming with UnrealScript:Beginner's Guide
- Rachel Cordone
- 377字
- 2021-08-27 11:59:09
Time for action – Using switches
- Let's take a look at an example of a Switch statement.
var int Int1; function PostBeginPlay() { Int1 = 2; switch(Int1) { case 1: 'log("Int1 == 1"); case 2: 'log("Int1 == 2"); case 3: 'log("Int1 == 3"); default: 'log("Int1 isn't any of those!"); } }
- Running the code, the log looks like this:
[0007.97] ScriptLog: Int1 == 2 [0007.97] ScriptLog: Int1 == 3 [0007.97] ScriptLog: Int1 isn't any of those!
What just happened?
Why did the other lines log? Unlike if/else statements, switches will continue executing the next steps after the condition is met. Sometimes we'll want it to do that, but if not we can use the break statement here too.
var int Int1; function PostBeginPlay() { Int1 = 2; switch(Int1) { case 1: 'log("Int1 == 1"); break; case 2: 'log("Int1 == 2"); break; case 3: 'log("Int1 == 3"); break; default: 'log("Int1 isn't any of those!"); } }
The log file for this would have our desired behavior.
[0007.69] ScriptLog: Int1 == 2
Return
Return simply exits out of a function. This is most commonly combined with other flow control statements like if/else. Take the following code:
var int Int1; function PostBeginPlay() { if(Int1 == 5) { 'log("Int1 equals 5"); return; } 'log("This will not log"); } defaultproperties { Int1=5 }
We can see what happens in the log:
[0007.83] ScriptLog: Int1 equals 5
Once the code reaches the return
statement, it stops running any more code in that function.
Goto
Goto jumps to a specific place in a function. If we had the following code:
function PostBeginPlay() { 'log("PostBeginPlay"); goto EndOfFunction; 'log("This will not log"); EndOfFunction: 'log("This will log."); }
The log would look like this:
[0007.55] ScriptLog: PostBeginPlay [0007.55] ScriptLog: This will log.
Like Return, Goto isn't really useful on its own and is more commonly combined with other flow control statements.
Pop quiz – Variable madness!
- What is the difference between an integer and a float?
- What type of variable is a vector?
- How do we make a variable changeable in the editor?
a. Add it to a config file.
b. Add parentheses after var.
c. Add it to the default properties.
- How would we write "If there's no water we will be thirsty" using logical operators?
- 零點起飛學Xilinx FPG
- 新媒體跨界交互設(shè)計
- Cortex-M3 + μC/OS-II嵌入式系統(tǒng)開發(fā)入門與應用
- 網(wǎng)絡(luò)服務器配置與管理(第3版)
- 計算機組裝·維護與故障排除
- 現(xiàn)代辦公設(shè)備使用與維護
- 電腦軟硬件維修從入門到精通
- Mastering Adobe Photoshop Elements
- 嵌入式系統(tǒng)中的模擬電路設(shè)計
- CC2530單片機技術(shù)與應用
- 筆記本電腦使用、維護與故障排除從入門到精通(第5版)
- Intel Edison智能硬件開發(fā)指南:基于Yocto Project
- Spring Cloud微服務和分布式系統(tǒng)實踐
- 新編電腦組裝與硬件維修從入門到精通
- 單片微機原理及應用