| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
Maya Mel基础教程
作者:未知    文章来源:网络    点击数:    更新时间:2006-7-6
  ing 一个或更多的字符 "What's up, chief?"
vector 三个浮点数 <<3,?7.7,?9.1>>
matrix 浮点数阵列 <<1.1, 2, 3; 6.7, 5, 4.9>>

以上类型除matrix外,都可以是一个阵列。如,一个三元素的整数阵列是一个跟一个的三个整数。

声明和标注变量

声明一个变量是说明变量的名字和类型;标注一个变量是给已生命的变量一个专有的值。下例是将声明和标注合为一步:

int $temp = 3;
float $Temp = 222.222;
string $tEmp = "Heya kid.";
vector $teMp = <<1, 2.7, 3.2>>;
matrix $temP[2][3] = <<4.5, 1, 0.2; -13, 9911, 0.007>>;

当生命矩阵变量时,必须包括二维阵列的尺寸。

下例说明对整型、浮点、字符串和矢量阵列型变量阵列的声明和标注:

int $TEmp[5] = {100, 1000, -70, 2, 9822};
float $TeMp[4] = {43.3, -10.7, 0, 82.5};
string $TemP[3] = {"Lord", "Flies", "cool brown fox2."}; < p>

vector $tEMp[2] = {<<0, 0, 0>>, <<0.01, -2, 16>>};

如果一个变量被声明但未被标注,它的所有的值是0;字串变量则?quot; "。

float $teMP; // 赋值: 0;
string $TEMp[3]; // 赋值: {"", "", ""};
vector $TEmP[2]; // 赋值: {<<0, 0, 0>>, <<0, 0, 0>>};
matrix $TeMP[3][2]; // 赋值: <<0, 0; 0, 0; 0, 0>>;

如果一个变量被声明或者被使用而没有定义它的类型,它被隐含声明为将要赋值给它的那种类型。

$tEMP = 0.0; // 浮点数
string $TEMP[]; // 零元素字符串阵列
$trip = "heya Buddy"; // 字符串
$rip = {1, 2, 3, 4}; // 四元素整型阵列
$lip = <<1, 2.1; 3, 4>>; // 2X2 矩阵
$flixp = $TEMP; // 零元素字符串阵列

注意值0.0是一个浮点数,而一个0值是一个整型数。这决定了在隐含声明时是产生一个浮点数还是产生一个整型数。
不建议使用隐含声明,因为它不象变量的隐含声明那样的清楚。

保留字

MEL的保留字可以是一个变量类型、控制逻辑或是表达一个值。以下是MEL的保留字:

break case continue default do else
false float for global if in
int matrix no off on proc
return string switch true vector while
yes

数据类型关键字

int float vector string matrix

布尔常数关键字

yes no on off true false

流动控制关键字

if else for while do in break continue default switch case

其他关键字

global return source catch alias proc

保留字也区分大小写。所以int是整型,Int不是。实际上alias、source、catch 也是保留字,但它们起指令作用,
因此没有被包括在上述表内。

字符串

字符串可用"+"运算连接。

string $what = "Whale";
string $title = "Great" + " White " + $what;

这将使title变量的内容为Great White Whale。

矢量

为寻址一个vector的各个成分,使用"."。

vector $LOS = <<1, 2, 7>>;
float $firstComponent = $LOS.x; // 赋值为 1
float $secondComponent = $LOS.y; // 赋值为 2
float $thirdComponent = $LOS.z; // 赋值为 7

标注矢量的成分:

vector $LOCK = <<7, -4, 9>>;
$LOCK = <<$LOCK.x, $LOCK.y, 3>>; // Assigned <<7, -4, 3>>

但不能直接给一个成分标数字:

$LOCK.z = 3000; // 错误

但是通常当访问一个矢量成分时,你应该象下面例子那样围绕它使用括号:

例子:
print $LOCK.x; // 错误
print($LOCK.x);
setAttr persp.scaleX $LOS.x; // 错误
setAttr persp.scaleX ($LOS.x);

阵列

你可以声明一个int, float, string或vector类型的阵列。阵列的第一个序号为0

string $array[3] = {"first\n", "second\n", "third\n"};
print($array[0]); // 显示 "first\n"
print($array[1]); // 显示 "second\n"
print($array[2]); // 显示 "third\n"

阵列尺寸可以自动地增加。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页


  • 上一篇文章: 没有了

  • 下一篇文章:
  • 相关文章