亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 媒體動畫 > 正文

Director綜合技巧:DIRECTOR應用RAV Ware MUI Maker

2024-09-08 19:26:52
字體:
來源:轉載
供稿:網友

rav ware mui make是一個很接近現代程序設計習慣的可視化xtra,它可以輕松的為drector設計出對話框,在對話框里包含了push button(命令按鈕),radio button(選項按鈕),toggle box(復選框),lable(標簽框),edit text(可編輯文本),popup list(下拉列表),slider(滑動條)??梢栽谠O計階段隨意的重設這些部件的大小和它們在對話框中的位置。在對話框中選中其中的一個部件,你就可以利用這個xtra產生相應的lingo代碼,你可以把這些代碼拷貝到你的director的電影腳本中去為你所用。
mui maker是運行在pc上的一個軟件,但是它產生的lingo代碼可以在mac和pc上同時使用,在director運行的時候平臺都可以本地化處理lingo。由于在這個軟件上對話框的設計和代碼的生成是分離的步驟,你的設計的界面可以先存貯,然后在需要的時候再融入到director電影的程序里,這給可以帶來更大的方便,怎么樣???有大體的認識了吧,有吸引力嗎?有的話就讓我們開始吧!
rav ware mui maker應用
首先讓我們認識它的面貌,用過visual系列開發程序的朋友對這個布局已經非常熟悉了。就不需要了解了!
1、 工具條:工具條里所包含的功能基本上是mui maker的功能,
2、 最左邊的按鈕是產生lingo的按鈕,
3、 其余的為設計排版用的按鈕。許多編輯軟件里都有類似的按鈕。在這里就不敘述了。
4、 設計區域:在這里可以展限你的設計才華,
5、 這里的設計就是你將來對話框的樣子。
6、 部件箱:里面有對話框常用的八種部件。
7、 屬性區域:里面有三個標
8、 簽選項,可以設置對話框和部件的屬性, 在lingo標簽里可以看到生成的代碼。
下面重點講述一下rav ware mui maker在director電影中的應用。因為在rav ware mui maker中產生的代碼只可以在director電影中產生相應的實例,我們與對話框實例的交互還要編寫一些必須的lingo代碼。同時這部分也是比較不好理解的。
首先要介紹的就是setup hander:
rav ware mui maker里創建一個你設計好的對話框實例后,你要創建一個全局變量gyourdialogname來存儲這里實例,setup hander的調用必須在其他的句柄之前調用。注意:這個句柄并不能顯示你所創建的dialog實例。如果你一開始要使你設計的dialog是有效的,那么你就要在startmovie里象下面那樣調用setup句柄
on startmovie
setup yourdialogname
end
如果你的setup句柄已經運行,要顯示你設計的對話框的時候,你可以在director的舞臺上設置一個按鈕來引發對話框的顯示,在按鈕上加入以下的lingo:
on mouseup
run yourdialogname
end
如果要關閉這個對話框,直接按對話框上的關閉就可以了,千萬不要在另一個按鈕上寫上stop句柄。
接下來就是怎么和你所設計的對話框中的部件交互的問題了,也是關鍵部分??!
回調句柄能夠從rav ware mui make創建的對話框里收集各個部件的信息,如果用戶用鼠標劃過你所設計的部件的話,回調句柄將收到一個輸入焦點列表,如果用戶輸入在一個文本域里輸入文本的話,回調句柄將返回一個改變信息列表。倘若你要你要捕獲用戶的輸入和對對話框有效的點擊行為的話,你必須把下面的回調句柄加入到一個啟動按鈕,就象下面一樣:
on yourdialognamecallback event, eventdata, itemproplist
-- put event & " : " & eventdata & " : " & itemproplist
當用戶和對話框交互的時候,在mesagge里運行注釋的第一行,我們會看見返回各種各樣的rav ware mui make的信息,就象下面一樣:
-- "windowopening : : "
-- "itemclicked : 2 : [#value: 0, #type: #pushbutton, #attributes: [], #title: "close", #tip: "tip",
#loch: 15, #locv: 24, #width: 157, #height: 52, #enabled: 1]"

-- "itemchanged : 3 : [#value: 1, #type: #radiobutton, #attributes: [], #title: "yes", #tip: "tip",
#loch: 219, #locv: 31, #width: 215, #height: 35, #enabled: 1]"
event參數包含的是關于用戶引發#itemclicked和#itemchanged的各種類型動作的符號,eventdate包含的是產生時間的項目數,itemproplist是一個lingo屬性列表,包含時間產生時刻所對應項目的屬性,可以啟動回調lingo的代碼骨干并捕獲所有的事件,但是事件的結果并不能做任何的事:
on testdialogcallback event, eventdata, itemproplist
-- put event & " : " & eventdata & " : " & itemproplist
if symbolp(event) then
case event of
#itemchanged:
#itemclicked:
#windowopening:
#windowclosed:
#windowzoomed:
#windowresized:
#itementeringfocus:
#itemlosingfocus:
otherwise:
end case
end if
end testdialogcallback
你加lingo代碼到啟動回調句柄去引發用戶基于對話框所做的行為,你可以用從eventdate里的部件代號或itemprolist里的部件屬性#title來確定哪個部件產生的這個事件。部件的代號很容易的應用,但它們非常象director里的角色代碼,容易在應用的時候產生混亂。如果你改變對話框的設計風格,并重新產生它,這個不部件的代碼就會根據新的界面的部件的位置而改變它的代碼,就像你把角色從一個通道搬到另一個通道一樣發生的變化那樣。如果你有不少同標題的部件的話,部件的#title屬性和#type屬性的組合使用,可以使你在代碼里有更多的可靠的標識符來區別不同的部件。下面的代碼是檢測用戶點擊關閉鍵并運行句柄關閉對話框。
on testdialogcallback event, eventdata, itemproplist
put event & " : " & eventdata & " : " & itemproplist
if symbolp(event) then
case event of
#itemchanged:
#itemclicked:
if the title of itemproplist = "close" then
stoptestdialog
end if
#windowopening:
#windowclosed:
#windowzoomed:
#windowresized:
#itementeringfocus:
#itemlosingfocus:
otherwise:
end case

end if
end testdialogcallback
多項目的情況:
更多的情況下你希望檢測一個事件的多個項目,你可以用嵌套case語句的方法檢測哪個項目產生了這個事件。先面的代碼就是檢測用戶是否點擊了"close"、"save"、"print"按鈕,并且在點擊不同的鍵的基礎上采用不同的行為。
on testdialogcallback event, eventdata, itemproplist
-- put event & " : " & eventdata & " : " & itemproplist
if symbolp(event) then

case event of
#itemchanged:
#itemclicked:
case (the title of itemproplist) of
"close": stoptestdialog
"save": savefilehandler
"print": printfilehandler
end case
#windowopening:
#windowclosed:
#windowzoomed:
#windowresized:
#itementeringfocus:
#itemlosingfocus:
otherwise:
end case
end if
end testdialogcallback

存貯一個值:
如果用戶通過在對話框中點擊選項按鈕或者從下拉菜單中選擇選項來作出選擇行為的時候,你可能希望將這一選擇存儲下來,那么你必須存儲一些性的數據為全局變量,以使在對話框關閉后,這些數據還能夠使用,你可以通過檢測這些部件的#value屬性,來判斷用戶做出了怎樣的選擇。舉個例子來說,當用戶通過下拉菜單做出了選擇,他就會產生一個#itemchanged事件,并且下拉菜單的#value屬性值被存貯到菜單選項對應的文本里,下面的代碼就是存貯用戶下拉菜單選項到全局變量。
on testdialogcallback event, eventdata, itemproplist
-- put event & " : " & eventdata & " : " & itemproplist
global popupchoice
if symbolp(event) then
case event of
#itemchanged:
if the type of itemproplist = #popuplist then
set popupchoice = the value of itemproplist
end if
#itemclicked:
#windowopening:
#windowclosed:
#windowzoomed:
#windowresized:
#itementeringfocus:

#itemlosingfocus:
otherwise:
end case
end if
end testdialogcallback
可控的改變項目的屬性
通過應用rav ware mui maker xtra's的temupdate方法,你可以可控的改變菜單項目的屬性,作為用戶行為的結果,temupdate的 語法如下:
itemupdate ( instanceglobal, itemnumber, newpropertylist )
你的對話框的全局變量名可以被叫做yourdialogname,下面的代碼改寫了第二項的文本,就是一個文本標簽去讀"no bad dogs"。
itemupdate ( gtestdialog, 2, [#value: "no bad dogs", #type: #label,
#attributes: [#justification: #left, #textstyle: [#plain]],

#title: "title", #tip: "tip", #loch: 300, #locv: 77, #width: 127,
#height: 10, #enabled: 1] )
下面的句柄是在"go"和"stop"文本之間切換當他們每一次被點擊的時候。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品按摩视频| 国产美女久久精品香蕉69| 亚洲天堂av在线免费观看| 欧美精品免费看| 久久久久久久久久国产精品| 欧美精品18videosex性欧美| 欧美激情精品久久久久久久变态| 俺去亚洲欧洲欧美日韩| 久久成年人视频| 国产一区二区三区久久精品| 亚洲精品ady| 国产精品91在线| 日韩女优在线播放| 国产免费一区视频观看免费| 久久网福利资源网站| 亚洲激情成人网| 欧美麻豆久久久久久中文| 亚洲精品ady| 亚洲天天在线日亚洲洲精| 精品国产一区二区三区久久狼5月| 日韩一区二区三区xxxx| 久久久欧美一区二区| 91在线观看免费| 亚洲欧洲一区二区三区在线观看| 91在线视频九色| 2020欧美日韩在线视频| 全亚洲最色的网站在线观看| 国产精品久久久久久久久久ktv| 亚洲天堂男人天堂女人天堂| 久久久久久综合网天天| 国产成人精品一区二区| 欧美激情免费在线| 亚洲 日韩 国产第一| 国产一区二区三区在线观看网站| 日韩欧美中文字幕在线观看| 亚洲男人的天堂在线| 日韩电视剧免费观看网站| 成人久久一区二区三区| 国产精品扒开腿做爽爽爽视频| 日韩高清有码在线| 国外色69视频在线观看| 国产精品99免视看9| 国产精品久久久久不卡| 欧美精品一二区| 91免费福利视频| 欧美wwwwww| 亚洲第一免费播放区| 成人免费高清完整版在线观看| 曰本色欧美视频在线| 亚洲欧美国产高清va在线播| 欧美激情亚洲精品| 国产精品国产自产拍高清av水多| 色偷偷88888欧美精品久久久| 欧美日韩一区二区免费视频| 91久久久久久| 亚洲大尺度美女在线| 欧美性xxxxx| 一区二区欧美在线| 国产欧美日韩中文字幕在线| 欧美色图在线视频| 中文字幕欧美亚洲| 欧美激情亚洲一区| 成人免费直播live| 国产精品视频一| 亚洲色图18p| 欧美午夜丰满在线18影院| 91极品视频在线| 成人激情视频小说免费下载| 久久人人爽人人爽人人片av高请| 亚洲第一福利网站| 久久久精品国产一区二区| 欧美国产视频一区二区| 色综合久久久888| 久久人人爽人人爽人人片亚洲| 久久久久久久爱| 欧美一级视频在线观看| 亚洲性生活视频在线观看| 日本午夜在线亚洲.国产| 97热在线精品视频在线观看| 秋霞av国产精品一区| 久久精品国产一区二区三区| 国语自产偷拍精品视频偷| 亚洲精品久久久久久久久| 欧美另类xxx| www.日本久久久久com.| 日韩中文字幕在线观看| 欧美高清视频在线观看| 国产精品无av码在线观看| 久久夜色撩人精品| 亚洲欧美国产另类| 俺也去精品视频在线观看| 久久久女人电视剧免费播放下载| 国产精品精品视频一区二区三区| 亚洲女人天堂网| 精品国产一区二区三区久久久狼| 中文字幕av一区中文字幕天堂| 色偷偷偷综合中文字幕;dd| 国产精品一二三在线| 久久精品国产欧美激情| 国产一区二区三区久久精品| 九九热精品在线| 欧美高清videos高潮hd| 成人免费激情视频| 亚洲无限av看| 欧美一区二区大胆人体摄影专业网站| 国产精品99久久久久久久久久久久| 亚洲国产黄色片| 日韩电影中文字幕av| 亚洲精品99999| 精品视频在线播放色网色视频| 国产日韩欧美在线视频观看| 日本成人激情视频| 一本色道久久88亚洲综合88| 一二美女精品欧洲| 国产精品第1页| 久久97久久97精品免视看| 国产成人精品国内自产拍免费看| 欧美性猛交视频| 亚洲免费电影在线观看| 91精品国产综合久久香蕉922| 国产免费成人av| 热re91久久精品国99热蜜臀| 亚洲精品乱码久久久久久金桔影视| 国产在线a不卡| 欧美另类极品videosbest最新版本| 久久综合久久八八| 2019av中文字幕| 日韩av免费看| 奇米一区二区三区四区久久| 97精品伊人久久久大香线蕉| 色哟哟入口国产精品| 久久的精品视频| 欧美在线视频网站| 日韩av在线一区二区| 欧美极品美女视频网站在线观看免费| 欧美亚洲国产成人精品| 欧美国产日产韩国视频| 久久成人人人人精品欧| 97婷婷大伊香蕉精品视频| 亚洲成人在线网| 欧美洲成人男女午夜视频| 2019中文字幕全在线观看| 国产福利精品av综合导导航| 国产91精品在线播放| 精品国偷自产在线| 69av成年福利视频| 欧美壮男野外gaytube| 俺去啦;欧美日韩| 欧洲一区二区视频| 韩国国内大量揄拍精品视频| 国产成人在线一区二区| 国产精品aaaa| 午夜精品视频在线| 欧美大尺度在线观看| 亲子乱一区二区三区电影| 日韩不卡在线观看| 久热爱精品视频线路一| 亚洲一区二区免费| 亚洲欧美国产va在线影院| 日韩精品免费在线视频观看| 久久香蕉国产线看观看av| 亚洲人成电影网站| 久久精品国产久精国产思思| 国产一区二区三区高清在线观看|