03-MaxScript基礎語法02-數組序列與循環

03-MaxScript基礎語法02-數組序列與循環

來自專欄 MaxScript入門

數組序列與循環


數據類型 - Array 數組

3ds MAXScript 完全學習手冊.第3章5節。具體請翻閱學習手冊,這裡只是簡單解釋下怎麼看懂書中對於新人比較困惑和常用的地方。

數組(Array)是一組數據的集合,這些數據中的每一個稱為元素。每個元素用 , 逗號隔開。數組(Array)就是一個框,什麼都能往裡裝。

創建數組(Array):

a_array = #()

a_array 就是一個數組了,空的。

b_array = #( 0,1,2,3,4,5,6,7,8,9 )

b_array 就是一個包含 0 -9 數列的數組。

數組屬性 .count

只有一個.count 數組長度(數組有多少個元素) 的屬性。

. . . . . 注意看這些點 . . . . . 這些個點被稱為 屬性選擇符,英文輸入法的點

方法

怎麼拿到數組裡第一個數據?

<array>[<integer>] ( 書中是這樣表示這個方法的 ) ,我這裡來舉個例子:

拿到b_array 的第一個數據 b_array[ 1 ] 。

看懂沒。 格式就是: 數組[序號] ,你的數組後面跟一對大括弧,大括弧里是序號,第一個數據的序號是 1 ,第二個就是 2 ,最後一個數據的序號就是這個數組的長度。b_array[1 0 ]

怎麼修改數據?

<array>[integer] = <value>

b_array這個數組的第一個數據 是 0 ,第二個數據是 1 ,現在我想把第一個數據 0 改為 10 ,第二個數據1 改成 a_array 這個數組。

b_array[ 1 ] = 10 ; b_array[ 2 ] = a_array

這樣數組裡面有一個數組。

怎麼添加和插入數據?

添加數據,是在數組末尾加數據;插入數據是在數組指定位置添加數據。

append <array> <value>

append a_array 15

給a_array 這個空數組加了一個數據 15 。

Insertitem <value> <array> <integer>

Insertitem 15 b_array 3

b_array 原來第三個數據 2 ,在3這個位置插入15 之後,後面的數據每個的序號都向後推了一個。

Selection 和objects 兩個特別的數組。Objects 為場景里所有對象集合。Selection 為當前選中的對象集合。


For 循環

3ds MAXScript 完全學習手冊.第5章4節。

循環意為重複的執行操作(不要想到圓環)。遍歷任何數組序列里的元素。

for p in b_array do ( print p)for p = 1 to b_array.count do ( print b_array[p])-------- 倒序for p = b_array.count to 1 by -1 do ( print b_array[p])

for <var_name>(in | =)<sequence>(do | collect)<expr>

for p in b_array

意為,將變數p 代入到數組 b_array 中的每個元素。然後執行do 後面的語句,print 列印出 p ,(這裡的列印是輸出顯示,不是印表機)

for p = 1 to b_array.count

其實為 for p = 1 to b_array.count by +1 ,和第三個循環格式是一樣的,一開始 P 的循環初始值為1,循環終值 為b_array.count,每次循環開始,循環初始值就加上增量,直到等於循環終值,循環結束。只是一個每次增量 1 ,另一個是增量為 - 1 。

這裡還請看書中內容然後結合本列仔細揣摩這3 個循環。動動手抄下代碼,或者自己試著寫兩個。


推薦閱讀:

Opera成為第一個具有內置加密錢包的瀏覽器
DOTA2:夏日特惠修復兩次購買「BUG」獎金池難超TI7,猜測一下坑錢計劃
SE釣魚大作,殺馬特王子復國記
Hit Game和Next Hit Game對公司價值的意義
育碧公布2018年Q1財報 PS4遊戲銷量第一

TAG:Autodesk3dsMax | 遊戲從業者 |