(转载)虚幻引擎3--【UnrealScript教程】章节一:16.DefaultProperties

当在游戏中创建一个对象时,它的属性会初始化为“默认”值。这些值是由创立用于创建该对象的类的游戏程序员设置的。在很多编程语言中,当创建对象时会调用一个特殊的函数(即构造器)来初始化变量。UnrealScript中没有和这个概念相同的确切等价物。相反,UnrealScript使用一个段称为 defaultproperties 的特殊代码块来为属于该类的所有实例变量设置值,当创建该类的实例时将会使用该默认属性代码块进行初始化。这个代码块总是位于脚本的尾部,所有函数及状态声明的后面,尽管它是UnrealScript的一部分,但是这段代码不是标准的UnrealScript代码,并且遵循着略微不同的规则

正如前面所提到的, defaultproperties 块的规则和标准的UnrealScript语法略有不同。总的不同之处有:
· 在defaultproperties语句块中不允许存在语句,动态数组操作除外。这意味着您不能执行计算、调用函数等。 defaultproperties 仅用于分配特定的值给实例变量。
· 分号可以放在每行的末尾,但不是必须的。
· 避免出现空格 (比如在变量名、赋值运算符、及值之间)。
· defaultproperties(默认属性) 代码块的花括号应该另起一行。
除了上面列出的基本的不同之处外,某些类型的赋值语法也和UnrealScript中的标准赋值语法不同。

几行语句大概解释默认属性
class MyUSGame extends actor
placeable;

var string s;
var int i;
var float f;
var int ar[3];

function PostBeginPlay()
{
//ar[3]=3; 
`log("s:"@s);
`log("++i:"@++i);
`log("f:"@f);
`log("ar:"@ar[2]);

//重置默认后的i
`log("default i:"@default.i);
}

defaultproperties
{
s="hello world";
i=1;
f=1.5000;
ar(2)=2;

 
 
 
posted @ 2016-11-26 17:36  星月相随  阅读(401)  评论(0编辑  收藏  举报