先說一下newRolloutFloater
這個對(fang)象(fa)(額。。。。max官方說這個是user interface(用戶接口),我也不知道翻譯過來如何表述,本着萬物皆對象的理念吧,學習max腳本還是不要用面向對象編程的思維來理解吧,準確來說ms屬於函數式編程,非常弱類型的語言)給用戶提供的是掛在多個Rollout的承載。
舉個?
MainFloater = newRolloutFloater "ExpressionMirror V2.0" 180 320
我自己創建了一個MainFloater的一個newRolloutFloater對象,它給Rollout不太一樣的地方是,他不需要CreateDialog就可以直接創建出面板。newRolloutFloater 的第一個參數是floater顯示的label,
後面的參數一次是<寬> <高> 【<窗口左上角位置X>】 【<窗口左上角位置Y>】,簡單說就是個Rect而已。
當然參數可以按照規則缺省.
Ctrl+E運行一下
然後我又不小心運行了一下,赫,又㕛叒叕彈出了一個,可能某些腳本會需要彈出多個相同的界面。。。但是我自己不喜歡。於是就要幹掉這個問題(注意:MS裏變量聲明極其靈活)
生成窗體之前,我判斷一下MainFloater是不是空不就行了,不是空我就幹掉它,然後在生成個新的。
--是的我是註釋,ms裏有--(兩個-)做註釋
if MainFloater!=udefined do
(
closerolloutfloater MainFloater
)
MainFloater = newRolloutFloater "ExpressionMirror V2.0" 180 320
下面就略寫了
我需要給MainFloater上添加Rollout了
那麼我首先要創建一些Rollout
--是的我是註釋,ms裏有--(兩個-)做註釋
rollout MirrorRollout "Vertex Mirror" width:170 height:250
()
rollout VertexCopyPasteRollout "Vertex Copy Paste" width:170 height:250
()
rollout HelpInfosRollout "Help Infos" width:170 height:250
()
rollout CopyrightRollout "Copyright" width:170 height:250
(
label 'lbl' "寫到這樣,突然發現自己的簡寫C.P.,還可以這麼理解 Copy Paste,簡直說出來真相" pos:[4,6] width:164 height:116
)
addRollout MirrorRollout MainFloater rolledUp:true
addRollout VertexCopyPasteRollout MainFloater rolledUp:true
addRollout CopyrightRollout MainFloater
addRollout HelpInfosRollout MainFloater rolledUp:true
運行一下的結果是
待續《MS-UI篇2-2》