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

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

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

2024-09-08 19:27:08
字體:
來源:轉載
供稿:網友
director 編寫自己的行為
一、什么是行為

   行為是一類特殊的劇本,即我們通常所說的behavior。為了明白其具體含義,讓我們先來看看什么是劇本。

   在director中,雖然只要通過鼠標的點擊和拖動等一些非代碼的操作就可以實現許多復雜的交互和演示,但director強大的真正原因之一在于擁有內置的編程語言lingo,這也是它能夠成為一個完整多媒體開發平臺的關鍵。而lingo作為director的核心內容,則是通過各種不同類型的劇本來實現其作用的。

   director中的劇本共有四種:
   * 影片劇本(movie script):作用于整個影片,包含有可供其它劇本調用的處理程序。
   * 父代劇本(parent script):僅在進行面向對象編程時使用。
   * 行為劇本(behavior script):根據作用區域不同分為角色劇本(sprite script)和幀劇本(frame script),分別控制相應的角色或幀。
   * 演員表劇本(cast script):隸屬于相應的演員,作用于所有使用此演員的角色。

   這四種劇本互相協作,對影片進行著全面的控制。而其中的行為劇本,使用得最為廣泛。

二、為什么要使用行為

   那么為什么要使用行為呢?也就是說,使用行為有什么好處呢?

   其實,行為的最大優勢在于能夠批量“生產”和“操縱”特定的角色或幀。舉個簡單的例子來說,如果我們需要制作一些簡單的導航按鈕,則只需編寫下面這段代碼即可:

on mouseup me
go to frame 5
end


   這段代碼的含義非常簡單:當在此按鈕上點擊鼠標時播放頭跳到第5幀。我們只要將其賦予某個按鈕,即可實現相應的導航功能。

   如果只需少量這樣的按鈕,則并不能看出來行為的優勢,但如果需要制作許多這樣的導航按鈕且導航目的地不同時,行為的優勢便顯而易見了。簡單的說,只需編寫一個簡單的導航行為,就可“以不變應萬變”。


三、編寫自己的行為

   下面我們就以上面所提到的導航按鈕為例,編寫一個簡單完整的“guide behavior”。

   1. 準備素材:

   首先,準備需要使用的演員(包括文本演員和按鈕演員各4個)并將其置于舞臺之上,完成后的結果如圖所示。其中4個文本演員生成的角色分別位于通道1中的不同幀。


   2. 編寫劇本:

   打開劇本窗口,建立一個名為“loop”的劇本演員,并在屬性監察窗中將其屬性調整為“behavior”,然后輸入下面的代碼:

on exitframe me
go to the frame
end

   上面這段代碼使得播放頭始終在當前幀上循環,直至發出跳出循環的命令。其實這個“loop”便是一個簡單的行為,只不過它并沒有需要設置的參數。

   使用相同的方法建立一個名為“guide”的劇本演員并調整其屬性,然后輸入下面的代碼:

property ptargetframe

on getpropertydescriptionlist me
list = [:]
addprop list , # ptargetframe, [ # comment: "go to frame" , # format: #integer , # range: [ # min: 1 , # max: 25 ], # default: 1 ]
return list
end

on mouseup me
go to frame ptargetframe
end

   3. 添加script:

   將行為“loop”分別拖拽到分鏡表窗口幀通道的1、5、16、24幀,以使影片能夠在這些幀上循環播放。

   以同樣的方法將行為“guide”拖拽到角色2(由演員“button01”生成)上,此時會出現下圖所示的參數對話框。通過這個對話框,可以直接指定“go to frame ptargetframe”命令中ptargetframe的取值。利用滑動條,在當前對話框中指定其取值為“1”。

   分別對角色3、4、5進行相同的操作,只不過需要在參數對話框中指定不同的ptargetframe取值:角色3的ptargetframe = 5,角色4的ptargetframe = 16,角色5的ptargetframe = 24。

   從以上的操作中可以看到,此時的ptargetframe已經成為了一個“變量”,我們完全可以根據需要指定其取值,從而避免了為不同的導航目的地編制不同的導航命令。這便是行為的強大之處。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东莞市| 井冈山市| 沽源县| 定兴县| 平远县| 鄄城县| 阿克苏市| 安阳县| 吴桥县| 安塞县| 平舆县| 湖北省| 玉田县| 井研县| 永德县| 库尔勒市| 德保县| 内黄县| 兰州市| 镇远县| 五台县| 同心县| 革吉县| 陕西省| 桐梓县| 紫云| 长宁县| 河南省| 巩留县| 寿光市| 河津市| 丰都县| 安新县| 鸡东县| 沁水县| 佛山市| 威海市| 荣成市| 青浦区| 辛集市| 城固县|