国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > 媒體動(dòng)畫(huà) > 正文

Director基礎(chǔ)教程:Director 設(shè)計(jì)自己地行為(續(xù))

2024-09-08 19:27:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
director 編寫(xiě)自己的行為(續(xù))
   在《編寫(xiě)自己的行為》一文中,我們已經(jīng)從理論上對(duì)行為的結(jié)構(gòu)有所了解,現(xiàn)在我們通過(guò)一個(gè)"多態(tài)按鈕行為"的編寫(xiě)來(lái)從實(shí)踐角度加深對(duì)行為的認(rèn)識(shí)。

一、何謂"多態(tài)按鈕"

   在各種多媒體產(chǎn)品的圖形用戶界面中,多態(tài)按鈕都擁有非常廣泛的應(yīng)用。所謂的"多態(tài)",即對(duì)于鼠標(biāo)的不同操作可以有不同的響應(yīng)方式,這些方式表現(xiàn)為按鈕或鼠標(biāo)形態(tài)的改變,同時(shí)發(fā)出提示聲音或給出提示畫(huà)面,并且執(zhí)行相應(yīng)的操作。總之,一個(gè)完整的多態(tài)按鈕能夠響應(yīng)用戶的不同操作并完成各種指定的任務(wù)。

windows的"開(kāi)始"按鈕便是一個(gè)簡(jiǎn)單的多態(tài)按鈕

二、多態(tài)按鈕的功能

   一個(gè)多態(tài)按鈕的主要功能包括:
   * 鼠標(biāo)進(jìn)入后按鈕本身呈掠過(guò)狀態(tài)。
   * 鼠標(biāo)點(diǎn)擊時(shí)按鈕本身呈按下?tīng)顟B(tài)。
   * 按鈕被成功點(diǎn)擊后執(zhí)行相應(yīng)的命令。
   * 當(dāng)鼠標(biāo)位于按鈕內(nèi)部時(shí)改變光標(biāo)形態(tài),離開(kāi)按鈕時(shí)恢復(fù)光標(biāo)形態(tài)。
   * 在整個(gè)過(guò)程中會(huì)有操作提示音(或提示畫(huà)面)。

一個(gè)典型的多態(tài)按鈕

三、多態(tài)按鈕行為的編寫(xiě)

   新建一個(gè)劇本演員,命名為"multistate button behavior",不要忘記將其屬性更改為"behavior"。

   首先,我們需要聲明即將使用的屬性變量。

property pnormalmember -- 用來(lái)存儲(chǔ)按鈕的正常狀態(tài)。
property puserolloversound, prolloversound -- 掠過(guò)按鈕時(shí)是否發(fā)出聲音,使用的聲音演員。
property puserollovermember, prollovermember -- 掠過(guò)按鈕時(shí)是否改變演員,改變后的演員。
property pusedownsound, pdownsound -- 按下按鈕時(shí)是否發(fā)出聲音,使用的聲音演員。
property pusedownmember, pdownmember -- 按下按鈕時(shí)是否改變演員,改變后的演員。
property pcustomguide -- 成功點(diǎn)擊按鈕后所執(zhí)行的自定義導(dǎo)航命令。
property pusechangecursor -- 是否根據(jù)鼠標(biāo)與按鈕的不同位置改變鼠標(biāo)的形態(tài)。
property pchangecursor -- 改變后的鼠標(biāo)形態(tài)。

   下面的getpropertydescriptionlist函數(shù)看起來(lái)好像非常復(fù)雜,其實(shí)無(wú)非是給需要使用的屬性變量構(gòu)建參數(shù)對(duì)話框,每一項(xiàng)參數(shù)都擁有#comment、#format和#default這三個(gè)必需的部分。

on getpropertydescriptionlist me
   mylist = [:]
addprop mylist, # puserolloversound, [ # comment: "use rollover sound" , # format: # boolean, # default: true ]
addprop mylist, # prolloversound, [ # comment: "rollover sound" , # format: #sound , # default: "" ]
addprop mylist, # puserollovermember, [ # comment: "use rollover member" , # format: # boolean, # default: true ]
addprop mylist, # prollovermember, [ # comment: "rollover member" , # format: # bitmap, # default: "" ]
addprop mylist, # pusedownsound, [ # comment: "use down sound" , # format: # boolean, # default: true ]
addprop mylist, # pdownsound, [ # comment: "down sound" , # format: #sound , # default: "" ]
addprop mylist, # pusedownmember, [ # comment: "use down member" , # format: # boolean, # default: true ]
addprop mylist, # pdownmember, [ # comment: "down member" , # format: # bitmap, # default: "" ]
addprop mylist, # pcustomguide, [ # comment: "custom lingo" , # format: #string , # default: "" ]
addprop mylist, # pusechangecursor, [ # comment: "use change cursor" , # format: # boolean, # default: true ]
addprop mylist, # pchangecursor, [ # comment: "change cursor" , # format: #cursor , # default: "" ]
return mylist
end

   這里需要注意一下#format和#default的取值。

# format的取值多種多樣,但主要可以分為兩類:
1 . 數(shù)據(jù)類:包括#integer、#float、#string、#symbol和#boolean等。
2 . 非數(shù)據(jù)類:包括#member(也可以具體寫(xiě)出#member的類型,例如#bitmap即表示位圖演員)、#frame、#marker和#ink等。

   而#default的取值則可以是數(shù)字、布爾值(true或false,僅當(dāng)#format為#boolean時(shí))或字符串。一般情況下,#default的取值是依賴于#format的,但要求也不是很嚴(yán)格,畢竟#default只是為屬性列表的每個(gè)屬性提供一個(gè)缺省值,最終的使用值還是需要我們自己在參數(shù)對(duì)話框中指定。

   其實(shí)#default還可以指定為void,以表示沒(méi)有合適的缺省值,但并不推薦使用,原因在于:
1 . 數(shù)字、布爾值和字符串已經(jīng)幾乎可以囊括#default所有的取值情況,并不需要再增添一個(gè)void。
2 . 如果getpropertydescriptionlist函數(shù)返回的屬性列表中有任何一個(gè)屬性的缺省值被指定為void,則在使用runpropertydialog函數(shù)時(shí)系統(tǒng)會(huì)報(bào)錯(cuò)。

   下面我們添加runpropertydialog函數(shù)。其實(shí)在這里并沒(méi)有什么使用runpropertydialog函數(shù)的必要,僅僅是為了熟悉它。

on runpropertydialog me , mylist
setprop mylist, # pcustomguide, "go to frame 5"
pass
return mylist
end

[1] [2] 下一頁(yè)  

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 江城| 宁乡县| 沈丘县| 平武县| 玉树县| 芜湖县| 安福县| 田林县| 贺州市| 晴隆县| 杭锦旗| 老河口市| 云南省| 武宁县| 江山市| 巴青县| 平利县| 吴堡县| 老河口市| 化隆| 西吉县| 紫金县| 临澧县| 新密市| 洛宁县| 大荔县| 定襄县| 利川市| 固原市| 新丰县| 施秉县| 伊宁市| 大理市| 安庆市| 延寿县| 天镇县| 上犹县| 白水县| 乌兰察布市| 新巴尔虎左旗| 宝鸡市|