基於Vertex的表情鏡像的max工具腳本-《MS-UI篇2-1》

先說一下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》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章