maya語言mel文字教學第四課 流程管理 上

2022-09-18 19:33:02 字數 3176 閱讀 4600

感謝大家積極的參與我的教程的學習。學習mel比較枯燥的事情,需要一些耐力。我準備了二十多節課,系統的講解mel的初級知識,有了這些知識,大家在以後無論是看一些mel的書籍,或者深造更高層次的mel學習都會有事半功倍的幫助,希望大家跟著教程再接再厲,努力加油!!!

正文開始

mel的流程控制

所謂流程控制是指我們在寫mel指令碼時候用到哦判斷語句和迴圈語句等。是用於控制maya mel的造作流程

首先先說乙個判斷語句if,格式如下:

if (判斷條件)

上面是if判斷語句的基本格式,當滿足判斷條件的時候,mel就執行大括號裡公尺娜的操作語句,如果不能滿足判斷條件,判斷條件不成立時,不執行大括號裡面的內容,則繼續執行下面的其他mel語句。這個是if的基本格式,在這個基礎之上衍生出來的格式還有if else 格式,如下:

if(判斷條件)

else

上面的意思是,當滿足判斷條件的時候則執行if下面大括號裡面的操作語句,如果判斷條件不成立,則執行else下面大括號裡面的操作語句,給大家舉例說明判斷語句的具體用法。

int $a = 1;

if($a<5)

print "\nend";

在上面的語句中我們設定乙個變數$a = 1 執行if判斷 $a<5,這個判斷成立,因此執行大括號裡面的語句列印 good!後執行了pint "end"; 語句列印end。 如果我們將$a的值設為6的時候,大於判斷5的時候則

int $a = 6;

if($a<5)

print "\nend";

執行上面的語句,此時 $a = 6 判斷條件不成立,則不列印 good!而是直接執行了pint "end";語句。

下面是關於if else的例項

int $a = 6;

if($a<5)

else

我們執行上面的語句後發現mel列印的是bad! 也就是說當判斷條件不成立的時候mel執行的是else下面大括號的語句。我們在if else語句中還可以衍生出if else if 語句

int $a = 13;

if($a<5)

else if ($a <10 )

else if ($a <15 )

執行上面的語句mel列印結果為 <15 。 在上面的語句中我們設定了$a=13 mel執行了判斷,第乙個判斷不成立,因此跳到else中檢視第二判斷$a是否小於10,判斷結果第二個也不成立直接跳入第三個判斷檢視$a是否小於15,第三個判斷成立執行下面大括號裡面的操作語句。

下面給大家介紹一下判斷操作符,如果我們設定兩個整型變數$a=23; 和 $b=45; 我們如果要通過判斷列印較大的變數數值,該如何操作呢?方法如下:

int $a = 23;

int $b = 45;

if ($a>$b)

else

執行上面的語句,mel會自動挑出較大的數值列印。如果前面的知識都掌握了的話,這個很容易理解,在這裡不做解釋。這是我們正常使用判斷語句的寫法,如果我們使用判斷操作符來執行相同的操作的話,語句就會相對的簡單的多。

如下nt $a = 23;

int $b = 45;

print (($a>$b)? $a:$b) ;

給大家解釋一下上面的語句中的 (($a>$b)? $a:$b) 語句。

這個語句的意思為,首先($a>$b)是判斷條件,如果判斷條件成立的話就執行:前面的$a,如果成立的話,就執行:之後的$b。

因為此語句是乙個復合語句,所以要在外面打上括號告訴mel這個是乙個完整的復合語句。

關於判斷條件的一些問題

$a>$b 含義為$a 大於 $b;

$a<$b 含義為$a 小於 $b;

$a==$b 含義為$a 等於 $b; 大家注意在這裡面我用了連個等於號,因為乙個等於號是賦值的意思,也就是說如果我們寫成$a=$b;的含義為我們將變數$b的值賦予$a,所以我們用兩個等於號來表示這是$a等於$b。

$a>=$b 含義為$a 大於等於 $b;

$a<=$b 含義為$a 小於等於 $b;

下面給大家講解一下在判斷語句中常用的與運算或運算非運算三種方式

與運算用英文表示 and 在mel中使用 && 來表示。含義為:如果我們執行乙個判斷語句需要$a大於5 並且$a小於10 的時候如果我們用if語句來做的話就相對比較麻煩如下

int $a =7;

if ($a>5)

else }

else

上面的語句表達的含義是$a等於7 我們首先進行第一次判斷$a大於5,如果成立的話就執行判斷看$a是否小於10,如果成立的話列印 ok!,如果不成立的話列印 bad! 如果這個$a小於5的話就列印 bad!

,這種方式是我們用與運算的方式來表達就比較簡單,方式如下

int $a =7;

if($a>5 && $a<10)

else

在上面的語句中我們使用了與運算的表達方式($a>5 && $a<10)。含義為if將 $a大於5並且$a小於10作為乙個判斷條件來執行語句

或運算用英文表示是or 在mel中使用||來表示或運算。如我們要將 $a小於5或者$a大於10,作為判斷條件的話就可以使用或運算的表達方式,如下:

int $a =13;

if($a<5 || $a>10)

else

執行上面的語句,含義為,只要$a小於5或者$a大於10都可以滿足我們需要的條件。$a =13 因此 $a >10滿足條件執行print "ok!";

如果我們的$a=3的話則$a<5,也符合我們的條件同樣可以執行print "ok!";如下

int $a =13;

if($a<5 || $a>10)

else

執行上面的語句我們可以明顯的看出或運算的表達方式和與運算的表達方式的不同,與運算是必須要滿足兩個條件才可以執行大括號裡面的操作,或運算是只要滿足兩個條件中的任意乙個條件都可以執行大括號裡面的操作。

下面講一下非運算,非運算用英文表示為 not 在mel表示為 ! 。含義為不的意思,之前我們講過大於小於等於小於等於大於等於的表示方法,如果說不等於的話我們就使用!

=表示。如下:

int $a =13;

if($a!=8)

else

執行上面的語句,mel返回為ok。意思為,只要$a不等於8,就都符合條件的意思。

本節課內容就這麼多,主要講解了判斷語句的用法。

作業請用mel寫出, 可以滿足條件為 $a大於3並且小於10 或者 $a 大於20並且小於35 並且$a不能等於22 的判斷語句

海拉爾區第四中學語言文字匯報材料

規範語言文字工作紮實推進學校素質教育 海拉爾區第四中學語言文字規範化工作匯報材料 各位領導 各位專家 首先,我代表海拉爾區第四中學的全體師生,對各位領導和專家蒞臨我校檢查指導工作表示熱烈的歡迎!我校根據主管部門檔案精神和要求,認真貫徹和落實語言文字規範化工作的有關規定,以素質教育為載體,以學生行為習...

《語言文字應用》教學反思

激發學生學習熱情提公升課堂教學實績 王紅亮本學期後半學期講授的課程主要是 語言文字應用 選修 所感良多,這也是本人第二次在新課改背景下講授文字知識。語言文字應用 選修 是乙個特殊的版本,國家課程設定將其列為選修,陝西省將其列為必修,在這 選修 必修的斟酌中,課程特點也指引教師的課程目標定位和教法選擇...

四棵小學語言文字工作總結

語言文字是先進文化建設的重要組成部分,是建立和諧社會的重要交流工具,是建設和諧社會的重要載體。隨著資訊化對社會影響的廣泛深入,語言文字規範化工作更顯重要。2017年我校語言文字工作以黨的十九大精神和 國家中長期語言文字事業改革和發展規劃綱要 2010 2120 為指南,圍繞學校中心工作,以構建和諧校...