数码控科技猎奇Iphone动漫星座游戏电竞lolcosplay王者荣耀攻略allcnewsBLOGNEWSBLOGASKBLOGBLOGZSK全部技术问答问答技术问答it问答代码软件新闻开发博客电脑/网络手机/数码笔记本电脑互联网操作系统软件硬件编程开发360产品资源分享电脑知识文档中心IT全部全部分类 全部分类技术牛文全部分类教程最新 网页制作cms教程平面设计媒体动画操作系统网站运营网络安全服务器教程数据库工具网络安全软件教学vbscript正则表达式javascript批处理更多»编程更新教程更新游戏更新allitnewsJava 新闻网络医疗信息化安全创业站长电商科技访谈域名会议专栏创业动态融资创投创业学院 / 产品经理创业公司人物访谈营销 开发数据库服务器系统虚拟化云计算 嵌入式移动开发作业作业1常见软件all电脑网络手机数码生活游戏体育运动明星影音休闲爱好文化艺术社会民生教育科学医疗健康金融管理情感社交地区其他电脑互联网软件硬件编程开发360相关产品手机平板其他电子产品摄影器材360硬件通讯智能设备购物时尚生活常识美容塑身服装服饰出行旅游交通汽车购房置业家居装修美食烹饪单机电脑游戏网页游戏电视游戏桌游棋牌游戏手机游戏小游戏掌机游戏客户端游戏集体游戏其他游戏体育赛事篮球足球其他运动球类运动赛车健身运动运动用品影视娱乐人物音乐动漫摄影摄像收藏宠物幽默搞笑起名花鸟鱼虫茶艺彩票星座占卜书画美术舞蹈小说图书器乐声乐小品相声戏剧戏曲手工艺品历史话题时事政治就业职场军事国防节日风俗法律法规宗教礼仪礼节自然灾害360维权社会人物升学入学人文社科外语资格考试公务员留学出国家庭教育学习方法语文物理生物工程学农业数学化学健康知识心理健康孕育早教内科外科妇产科儿科皮肤科五官科男科整形中医药品传染科其他疾病医院两性肿瘤科创业投资企业管理财务税务银行股票金融理财基金债券保险贸易商务文书国民经济爱情婚姻家庭烦恼北京上海重庆天津黑龙江吉林辽宁河北内蒙古山西陕西宁夏甘肃青海新疆西藏四川贵州云南河南湖北湖南山东江苏浙江安徽江西福建广东广西海南香港澳门台湾海外地区

MayaMel基础教程(7)

来源:本网整理
MayaMel基础教程
定义数据本章描述MEL的数据类型它们之间的转换:
1、变量;
2、常数;
3、数据类型转换;
4、限制。

1、变量

所有变量名以$开始。变量名不包括空格和特殊字符。你可以使用下划线和数字作为变量名但开头不能是数字。
识别大小写,如$temp不同于$Temp。

例:

int$radical7Mark;//有效
intHEYchief;//ERROR:开头缺"$"
int$nine;//ERROR:开头不是"$"
int$_VAL_ID___AIT_;//有效
int$howdyYa`ll;//ERROR:含有无效字符
int$1Bill;//ERROR:开头不能是数字

有以下五种变量类型:

类型意义例子
int整数(...-2,-1,0,1,2...)10,-5,和0
float小数392.6,7.0,and-2.667
string一个或更多的字符"What'sup,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="Heyakid.";
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","coolbrownfox2."};<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="heyaBuddy";//字符串
$rip={1,2,3,4};//四元素整型阵列
$lip=<<1,2.1;3,4>>;//2X2矩阵
$flixp=$TEMP;//零元素字符串阵列

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

保留字

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

breakcasecontinuedefaultdoelse
falsefloatforglobalifin
intmatrixnooffonPRoc
returnstringswitchtruevectorwhile
yes

数据类型关键字

intfloatvectorstringmatrix

布尔常数关键字

yesnoonofftruefalse

流动控制关键字

ifelseforwhiledoinbreakcontinuedefaultswitchcase

其他关键字

globalreturnsourcecatchaliasproc

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

字符串

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

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

这将使title变量的内容为GreatWhiteWhale。

矢量

为寻址一个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);
setAttrpersp.scaleX$LOS.x;//错误
setAttrpersp.scaleX($LOS.x);

  • 本文相关:
  • MayaMel基础教程(6)
  • MayaMel基础教程(5)
  • MayaMel基础教程(4)
  • Maya硬件渲染粒子与软件渲染元素结合(3)
  • Maya硬件渲染粒子与软件渲染元素结合(7)
  • MayaMel基础教程(3)
  • MayaMel基础教程(2)
  • Maya硬件渲染粒子与软件渲染元素结合(6)
  • MayaMel基础教程(1)
  • Maya硬件渲染粒子与软件渲染元素结合(2)
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved