麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

Director基礎教程:Director 設計自己地行為(2)

2024-09-08 19:27:08
字體:
來源:轉載
供稿:網友
director 編寫自己的行為
四、完善自己的行為

   雖然“guide”行為已經能夠發揮其應有的作用,但離完整的行為還有一段距離,下面讓我們來對其進行一些完善。

   1. getpropertydescriptionlist函數的使用

   在編寫上面的“guide”行為時,我們使用了一個名為“getpropertydescriptionlist”的函數,那么這個函數具體有什么作用呢?

   getpropertydescriptionlist函數實際上返回的是一個屬性列表,而其中的屬性和屬性值是利用列表命令addprop添加的。具體到這個“guide”行為來說,此屬性列表中只有一個屬性“#ptargetframe”,而其值仍然是一個列表[ # comment: "go to frame" , # format: #integer , # range: [ # min: 1 , # max: 25 ], # default: 1 ]。使用getpropertydescriptionlist函數,可以建立一個參數對話框,其中#comment用來顯示參數的描述信息,#format用來限定參數的取值類型,#range用來限定參數的取值范圍并確定參數的取值,default為參數的缺省值。要注意的是,#range屬性并不是必需的。如果沒有#range屬性的話,則需要手動輸入一個參數的取值。

   2. runpropertydialog函數的使用

   在某些情況下,我們希望行為能夠半自動地設置其參數,而無需每次使用時都進行手動設置,此時runpropertydialog函數便發揮作用了。例如,我們可以為“guide”行為添加下面的代碼:

on runpropertydialog me , list
setprop list , # ptargetframe, 7
pass
return list
end

   現在如果將這個行為拖拽到一個角色上的話,會出現下面的參數對話框:

   這便是runpropertydialog函數的作用:使用屬性列表命令setprop將ptargetframe的取值預設為7,從而無需我們手動設置。更為“神奇”的是,如果去掉其中的“pass”命令,參數對話框將不會出現,但setprop命令仍然有效,這樣便實現了參數的半自動設置。

   3. isoktoattach命令的使用

   此命令的含義顯而易見,即檢測行為是否“is ok to attach”,當我們需要限定行為的使用范圍時,就可以利用isoktoattach命令。試著將下面這段代碼加入“guide”行為中:

on isoktoattach me , spritetype, spritenum
if spritetype = # graphic then
if sprite ( spritenum ). member . type = # button then
return true
else
return false
end if
end if
end

   如果現在再拖拽這個行為就會發現,它不會像以前那樣可以被添加到任意的角色上,因為此時isoktoattach命令已經限制其“只能添加給#button類型的演員生成的角色”。當然,對于isoktoattach命令,除了#button以外,還有許多可供我們選擇的參數,在這里就不一一列舉了。

   4. getbehaviordescription函數和getbehaviortooltip函數的使用

   與其他的部分相比,getbehaviordescription函數和getbehaviortooltip函數的作用就不是那么重要了,不過它們仍然是構成完整行為的兩個有機部分。

   如圖所示,getbehaviordescription函數返回一個字符串,并將其顯示在行為監察窗內:

   而getbehaviortooltip函數的作用更為簡單:將一個返回的字符串作為其所屬行為在庫面板中的一個“tool tip”。只有當我們將一個行為添加到庫面板后,才需要這一功能。

五、一點說明

   雖然我們編寫的這個“guide”行為本身非常簡單,但卻涵蓋了一個完整行為所涉及的全部內容,因為無論一個行為多么復雜,其本身均由下面幾部分組成:

   * property變量的聲明
   * getpropertydescriptionlist函數
   * runpropertydialog函數
   * isoktoattach命令
   * getbehaviordescription函數
   * getbehaviortooltip函數
   * 行為主體代碼

   當然,這七個部分并不都是必需的。一般情況下,只需包含property變量的聲明、getpropertydescriptionlist函數和行為主體代碼即可。

   只要把握住以上幾點,我們便可以舉一反三,編寫更多的自定義行為來滿足不同的需求。如果在編寫行為時遇到了困難,可以參考director庫面板內置的一些簡單行為,會有不小的收獲。

相關附件(完)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久久久久久久久久久久久久久 | 国产无遮挡一级毛片 | 国产免费小视频在线观看 | 久久精品一二三区白丝高潮 | 欧美中文字幕一区二区三区亚洲 | 欧美一区二区黄色 | 国产日韩中文字幕 | 成人做爰www免费看 欧美精品免费一区二区三区 | 刘亦菲一区二区三区免费看 | 久久国产精品久久精品国产演员表 | 国产1区2区3区中文字幕 | 欧美a在线观看 | 成人免费自拍视频 | 91成人亚洲| 亚洲最新黄色网址 | 欧美粗暴analvideos | av电影免费播放 | 黄色av网站免费 | 91黄瓜视频 | 激情宗合网| 中国黄色一级生活片 | 99精品在线视频观看 | 亚洲午夜免费电影 | 精品国产乱码久久久久久丨区2区 | 99这里精品 | 欧美 日韩 中文 | 久久91久久久久麻豆精品 | av之家在线观看 | 国产xxxxx在线观看 | 欧美成人一区免费视频 | 中国美女一级黄色大片 | 久久男人视频 | lutube成人福利在线观看 | 91短视频在线观看 | 美国黄色毛片女人性生活片 | 国产成人综合在线 | 成人三级视频网站 | 成年人国产视频 | 一级片九九 | 精品一区二区三区免费毛片爱 | 国内精品久久久久久久久久 |