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 | 遊戲從業者 |