浅说MC中变量的定义方式和作用域
来源:互联网 发布:centos root密码破解 编辑:程序博客网 时间:2024/06/02 07:30
MC中定义变量有多种形式,最常见的就是使用标准C的方式在本脚本(文件)中定义变量,全局变量和局部变量的用法和
作用域都和标准C一致,这里就不多说了。
另一种方式是定义在“全局脚本”中,可以被整个工程中的所有函数或对象引用。
例如:
在全局脚本init.c中定义了变量
int step = 5;
表示这个step变量被赋初值5,并且可以在整个工程中被引用。
这里要注意一点,如果只是声明而没有赋值,则变量必须在这个全局脚本的函数中被定义才行。
int step;
step = 5;//这是不行的
void init()//应该写成这样
{
step = 5;
}
第三种方式,也是最具MC特色的变量定义方式,则是在“自定义变量”功能中定义,根据作用域的不同分为Global和
Actor Variable。
Global变量是在整个工程中被引用和赋值的,整个工程中只有唯一的一个值;而Actor Variable的值是跟随每个Actor单
独来赋值,也就是说一旦某个参数被定义为Actor Variable时,每个Actor都可以引用这个变量,但是变量的值都是完全
不同的。
另外Globle变量在赋值的时候必须注意的一点是,只有赋值的代码被运行过之后才能生效,因此通常Global变量的初始
值是放在“全局脚本”中用函数内赋值的方式赋值;或者是在CreatorActor的时候写入赋值语句。
作用域都和标准C一致,这里就不多说了。
另一种方式是定义在“全局脚本”中,可以被整个工程中的所有函数或对象引用。
例如:
在全局脚本init.c中定义了变量
int step = 5;
表示这个step变量被赋初值5,并且可以在整个工程中被引用。
这里要注意一点,如果只是声明而没有赋值,则变量必须在这个全局脚本的函数中被定义才行。
int step;
step = 5;//这是不行的
void init()//应该写成这样
{
step = 5;
}
第三种方式,也是最具MC特色的变量定义方式,则是在“自定义变量”功能中定义,根据作用域的不同分为Global和
Actor Variable。
Global变量是在整个工程中被引用和赋值的,整个工程中只有唯一的一个值;而Actor Variable的值是跟随每个Actor单
独来赋值,也就是说一旦某个参数被定义为Actor Variable时,每个Actor都可以引用这个变量,但是变量的值都是完全
不同的。
另外Globle变量在赋值的时候必须注意的一点是,只有赋值的代码被运行过之后才能生效,因此通常Global变量的初始
值是放在“全局脚本”中用函数内赋值的方式赋值;或者是在CreatorActor的时候写入赋值语句。
- 浅说MC中变量的定义方式和作用域
- $(function(){})中定义变量的作用域
- php变量的定义和作用域
- 变量的作用域和存储方式
- 变量的作用域和存储方式
- perl变量作用域以及定义方式。
- javascript中函数中定义变量的作用域
- C++ for语句中定义变量的作用域(备忘)
- Java for语句中定义变量的作用域(备忘)
- 【JavaScript】(5)匿名函数的定义方式、变量的作用域(局部变量,全局变量)
- 变量作用域和方法定义
- 标识符的作用范围,变量的声明和定义,auto,register自动变量,代码作用域的静态变量
- 汇编中变量定义的存储方式
- OC中私有变量的定义方式
- JavaScript中变量的定义方式
- javaScript定义函数的三种方式&变量的作用域
- 汇编语言中可以定义变量吗?怎么定义?有局部变量和全局变量之分吗?作用域是什么?
- Shell中脚本变量和函数变量的作用域
- 基于HTML5的简单游戏动画Demo_update1
- 微软C编程精粹
- 【Win8不能打开网页的解决办法】
- 电影记忆之13:(超级战舰)
- hibernate_inverse
- 浅说MC中变量的定义方式和作用域
- 客户的某个电脑不能访问某个域名,但是其他电脑可以访问这个域名,这是为什么呢?
- Use Hive
- C++大数模板
- 为什么Nginx的性能要比Apache高得多
- ASP.NET页面传值
- BSTR,char8, CString
- Java线程:线程的调度-守护线程
- MC坐标系