热烈欢迎新会员,新手报到帖maxscript BUG和技巧收集场景助手3.0下载飞浪脚本零起点入门
返回列表 发帖

欢迎捐助本站:支付宝账号 cgplusplus@qq.com,谢谢支持!

[原创]飞浪脚本零起点入门系列(二) MAXScript数据类型

声明:本教程为CG++原创,转载请注明出处,谢谢合作:)

 

上一节:飞浪脚本零起点入门系列(一)MAXScript的初步知识

飞浪脚本零起点入门系列(二) MAXScript数据类型

 

本节关键词:
float  Integer   string  time  color  booleanClass  undefined

 

MAXScript可以对MAX的Node(节点)进行操作,但它也是程序语言,对于没接触过程序的人来说,了解程序的基本

知识是必要的,这里本人先对MAXScript跟其他程序的一些共同元素进行讲解。为以后写脚本打下基础。
MAXScript数据类型
计算机处理的是数据,而数据是以某种特定的形式存在的,(例如整数、浮点数、字符等形式)。不同的数据之间往

往还存在某些特定联系,如数组。MAXScript除了具备其他程序的数据类型外,还有自己独特的数据类型,以下本人

选择性的讲解,其他用到了再讲。
常量
常量的值是不变的,比如23,1.2,"cgplusplus",一般从字面形式就能判断是否是常量。
float 浮点型常量,有的程序叫实型常量,MAXScript的浮点数值都是单精度类型,占用内存4个字节,可以简单的理

解为带有小数点的常量,如1.2,123.456,-.0234,1.0e-6,100.,.123等等。其中着重讲一下:

1.0e-6  这是科学计数法,等同于1.0乘以10的-6次方即0.000001。
100.  就是一个整数后面加个点,没写错,MAXScript会默认为浮点数,在后面自动加零,即100.0。
.123 跟上面一样,程序自动记为0.123,这样的常量可以节省时间。MAXScript输入浮点数时可以省略小数点前面

或者后面的数,但是不能两个都省略,嘿嘿~~

好了,现在打开MAXScript Listener看看这些具体的数是怎么显示的,如图:

在光标指着的这一行按小键盘Enter,或者大键盘Shift+Enter就执行此行语句,下面显示执行结果。

MAXScript Listener分下面两个界面,上下都可以输入语句并执行,只有下面才能显示结果,上面区域还可以记录你

的MAX操作,即宏记录,暂且不表。你可以试试在下面输入1.2然后Shift+Enter照样返回结果。建议在上面输入语句。
现在清除两个区域,快捷键Ctrl+D,注意要先要激活上面或下面界面才能清除。再执行以下数值:

 

输入100.后换到下一行输入,换行快捷键是Ctrl+Enter,你也可以选定一段代码再Shift+Enter,则都执行。可以看到,

0.000001返回了1e-006,试试其他的。想一想,数值1e6是多少?
Integer 整形常量,就是我们通常说的整数,MAXScript的整形常量的范围是-2147483647 ~ +2147483647,

如果超出这个范围,则自动转成浮点型常量float,试试看执行2147483648返回多少?
string 字符常量,在MAXScript Listener执行如下字符cgplusplus和"cgplusplus"可以看到,cgplusplus返回

undefined(未定义),"cgplusplus"返回"cgplusplus",这就是正确的字符常量。


MAXScript里面,用半角字符"字符"双引号括起来的都是字符常量。反斜杠"\"为转义字符,能跟不同字母组合成不同效果,

以后用到时再讲。

time 时间常量,单位有m|s|f|t分别对应分,秒,帧,滴,一秒钟相当于4800滴。以下都是时间常量:
2.5s -- 2.5 seconds
1m15s -- 1 分 15 秒
2m30s5f2t -- 2 分 30 秒 5 帧 2 滴
125f -- 125 帧
17.25f -- 17.25 帧
1f20t -- 1 帧 20 滴
2:10.0 -- 2 分 10 秒 0 帧
0:0.29 -- 29 帧
color 颜色常量,以后所有MAXScript里面的颜色都由这个来表示,如线框色,固有色,灯光颜色等。
颜色构造式 color <r> <g> <b> [ <a> ] r是红色通道,g是绿色通道,b是蓝色通道,a是alfa通道。alfa通道可以省略。例如:
color 255 255 0
color 0 0 255 128 --包含通道
color 128 128 0
MAXScript预定了几个颜色关键词,只要单独出现就表示相应单词的颜色,颜色关键词有:
red,green,blue,white,black,orange,yellow,brown,gray
如果执行red就返回红色的颜色信息,如下:

 

booleanClass 布尔常量,只有两种值,true(真),false(假)。MAXScript还提供另外两种表示形式:on--等同于true,

off--等同于false,比如一个灯光的开关可以用on,off控制,也可以用true,false控制。
undefined 未定义,在MAXScript里面,一个变量要先定义了才能使用,就是说先要给一个变量一个名份,不然就算undefined,

比如上面讲的你直接输入cgplusplus就是undefined,如果你输入cgplusplus=1就是对的,变量赋值下节讲。
MAXScript还有其他丰富的常量,本节未讲到的还有:
Name ,Point2 ,Point3 , Ray ,Quat ,AngleAxis ,EulerAngles ,Matrix3 ,BigMatrix ,Box2 ,BitArray ,ArrayParameter
由于本人不是编词典,不可能一一讲到,大家也可以通过MAXScript reference学习。以后实例中用到的我都会详讲解,

另外本人并不是专业程序员,如果本系列教程中有什么谬误,还请大家批评指正,在下不胜感激,也算为广大脚本爱好者作贡献!

 

下一节, MAXScript算术表达式与赋值表达式

[此贴子已经被作者于2009-2-18 12:57:04编辑过]

附件: 您需要登录才可以下载或查看附件。没有帐号?注册  
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
日思日睿,笃志笃行!

欢迎捐助本站:支付宝账号 cgplusplus@qq.com,谢谢支持!

支持飞浪哥!!!

TOP

欢迎捐助本站:支付宝账号 cgplusplus@qq.com,谢谢支持!

晕,你这速度~~~
日思日睿,笃志笃行!

TOP

支持了 再看
简单生活 快乐就好

TOP

不错  希望有更多的这样的教程啊

TOP

站个坐慢慢看

TOP

来听课的[em52]

TOP

大家都是来听教授讲座的。。。

TOP

不错,又学了些知识......

TOP

看的好眩晕,哈哈

支持版主!!!

TOP

返回列表