MaxScript: Lession2_基本語法介紹

這篇在基本的資料型態與寫程式一些通用的語法在 MaxScript 中如何實踐的介紹。

* 基本的資料型態 :

        * 在 MaxScript 中對資料型態的規定很鬆散,不用一開始就宣告變數的型態,並且在寫程式的過程中可以任意的改變本來存放的內容,如下圖所示。

        * 可以從第 7 行看到,直接指定一個 a 參數為整數 1,第 8 行將其內容改為浮點數 1.1,第 11 行甚至將其改為一個陣列也還是可以執行,很寬鬆吧.XD 但也因此要更謹慎,不然一不小心就把資料莫名改掉而造成人為錯誤,這最難Debug了。

* 運算子 :

        * 加減乘除都相同,但有些寫法比較特別的要去查一下 API,像是取餘數 % 在 MaxScript 是包裝成 mod x y,x 除以 y 的餘數,基本上 google 也蠻容易查到答案的。

* if 敘述 搭配 運算子 :

        * 單純判斷一個條件,搭配 == 與 != 的比較運算子,可以使用 do 或者 then 

     * 判斷超過一個的條件,如下例,這時候僅可使用 then

     * 判斷兩個的條件,如下例,這時候需使用 then.....then or do

     * 判斷超過兩個的條件,如下例,這時候需使用 then.....then.....

     *  單純判斷一個條件,搭配邏輯運算子 and (&&) , or (||) 使用 

* 迴圈 :

        * 簡單把陣列的內容列印出來,方法有兩種,一個 for...to...do, 一個 for....in...do ( 這個類似 foreach ),有發現 i 也不用宣告形態嗎...XD 每次都會忘記,很想打上 for ( int i = 1....)....Orz....另外,陣列的存取索引是從 1 開始,不是 0

        * 離開迴圈,如同 break,MaxScript 內是用 exit 表示

       * 跳出/忽略這次迴圈,continue 後面的程式碼就不會再被執行下次,會執行下一次迴圈

* Switch Case :

        * MaxScript 寫法如下,平常我自己使用左邊比較多,右邊的寫法比較少用,都提供給大家參考

* 函式 :

        * 函式要以 fn 開頭,空格後命名函式名稱,上面為沒有傳入參數的寫法與呼叫方式,下面為有傳入參數的寫法與呼叫方式,在寫傳入參數的地方也是非常非常寬鬆捏~ XD

* 範例 :

        * 以上都是非常基本的東西,對有程式基礎的人來說,應該就是知道與不知道而已,查 API 或 google 應該都能找到寫法。下面還是提供兩個與 max 結合的基礎應用給大家參考

        * 場景上有 5 個幾何物,各自有自己的名稱,其中 Sphere01, Torus 已轉為 Editable_Poly 

        *01: 第 156 行將場景上沒被隱藏且型態為 Editable_Poly 的物體找出來並存在一個 array 中

    *02: 第 164 行將場景上沒被隱藏的物體找出來並存在一個 array 中,多一個名稱的判斷,正確的才列印
----------------------------------------------------------------------------------------------------------------------------------------------

    附上上面範例的 GitHub 位子

留言

這個網誌中的熱門文章

UE4: Spine2D 導入與基本使用