《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Lingo語(yǔ)言的數(shù)字媒體交互控制技術(shù)應(yīng)用研究
基于Lingo語(yǔ)言的數(shù)字媒體交互控制技術(shù)應(yīng)用研究
來(lái)源:微型機(jī)與應(yīng)用2013年第5期
王繼水,,朱 軒
(常州機(jī)電職業(yè)技術(shù)學(xué)院 信息工程系,,江蘇 常州 213164)
摘要: 詳細(xì)分析了Lingo程序語(yǔ)言的交互機(jī)制和組成部分,在此基礎(chǔ)上設(shè)計(jì)了基于Lingo的數(shù)字媒體交互控制模型,,并利用Lingo事件消息截取機(jī)制和程序處理技術(shù)實(shí)現(xiàn)對(duì)數(shù)字媒體對(duì)象的交互控制,。
Abstract:
Key words :

摘  要: 詳細(xì)分析了Lingo程序語(yǔ)言的交互機(jī)制和組成部分,在此基礎(chǔ)上設(shè)計(jì)了基于Lingo的數(shù)字媒體交互控制模型,,并利用Lingo事件消息截取機(jī)制和程序處理技術(shù)實(shí)現(xiàn)對(duì)數(shù)字媒體對(duì)象的交互控制,。
關(guān)鍵詞: Lingo;交互控制模型,;事件,;處理程序

 在21世紀(jì)的信息化時(shí)代里,數(shù)字媒體技術(shù)所提供的“你見(jiàn)即我見(jiàn)”的交互手段,,使得信息的交流與溝通遠(yuǎn)勝于前,。隨著網(wǎng)絡(luò)技術(shù)、計(jì)算機(jī)技術(shù)的飛速發(fā)展,,如何更好的控制數(shù)字媒體的交互成為產(chǎn)業(yè)界和學(xué)術(shù)界越來(lái)越關(guān)注的課題,。Lingo程序語(yǔ)言、網(wǎng)絡(luò)通信技術(shù)為實(shí)現(xiàn)數(shù)字媒體的交互控制提供了強(qiáng)大的技術(shù)基礎(chǔ),。
本文將介紹Lingo語(yǔ)言的交互機(jī)制,,并詳細(xì)闡述Lingo程序語(yǔ)言支持下的數(shù)字媒體交互控制模型的設(shè)計(jì)和運(yùn)行,進(jìn)而實(shí)現(xiàn)用戶(hù)與數(shù)字媒體產(chǎn)品進(jìn)行交互控制的功能,。
1 Lingo的交互機(jī)制概述
1.1 Lingo的兩種交互機(jī)制

 Lingo是一種面向?qū)ο蟮木幊陶Z(yǔ)言,,是通過(guò)給計(jì)算機(jī)發(fā)命令、提問(wèn)題而與計(jì)算機(jī)對(duì)話(huà)的一種方法[1],。它的主要目的是創(chuàng)建一個(gè)基于用戶(hù)體驗(yàn)的交互式數(shù)字媒體系統(tǒng),,以媒體對(duì)象(如圖片、聲音,、動(dòng)畫(huà)和視頻等)為基礎(chǔ),,并通過(guò)與這些對(duì)象的互動(dòng)提供實(shí)時(shí)創(chuàng)新的展示方式。
 借助Lingo語(yǔ)言幾乎可以實(shí)現(xiàn)所有媒體對(duì)象的交互式操作,,交互機(jī)制和媒體對(duì)象展示場(chǎng)景綜合在一起,,通過(guò)用戶(hù)事件處理程序和目標(biāo)媒體對(duì)象的方式實(shí)現(xiàn)。這種交互主要分為兩類(lèi):客戶(hù)端交互和服務(wù)器端交互,。
客戶(hù)端交互主要實(shí)現(xiàn)的是用戶(hù)對(duì)媒體元素實(shí)現(xiàn)操縱。Lingo程序通過(guò)感知用戶(hù)的具體操作觸發(fā)相應(yīng)的系統(tǒng)消息,,系統(tǒng)消息被事件截獲后執(zhí)行用于對(duì)媒體對(duì)象的狀態(tài)(如對(duì)象的位置,、對(duì)象的形狀以及對(duì)象的內(nèi)容等)改變的處理程序,。一個(gè)事件可以是鼠標(biāo)單擊或鍵盤(pán)命令,所有這些觸發(fā)事件的操作都是在客戶(hù)端完成,。
服務(wù)器端交互是通過(guò)用戶(hù)在客戶(hù)端操作觸發(fā)某個(gè)消息后,,服務(wù)器端對(duì)該操作所發(fā)出的系統(tǒng)消息進(jìn)行接收從而觸發(fā)對(duì)應(yīng)的事件,只有當(dāng)系統(tǒng)消息被某個(gè)事件截獲并接收后才能執(zhí)行相應(yīng)的處理程序?qū)崿F(xiàn)與用戶(hù)的交互,,因此,,它需要建立一個(gè)上傳基本流通道來(lái)實(shí)現(xiàn)。
1.2 Lingo的事件處理程序
 為了使數(shù)字媒體產(chǎn)品中的交互控制更加容易,,Lingo提供了對(duì)用戶(hù)和媒體對(duì)象交互支持,,交互機(jī)制被集成到了事件處理程序中,利用系統(tǒng)消息對(duì)事件(在特定的條件下觸發(fā)事件節(jié)點(diǎn))進(jìn)行觸發(fā),。在Lingo中幾乎所有的動(dòng)作都會(huì)導(dǎo)致事件的發(fā)生,,所以用戶(hù)的任何操作都可以實(shí)現(xiàn)對(duì)事件的控制[2]。
 當(dāng)事件被觸發(fā)后開(kāi)始執(zhí)行事件中的處理程序,。處理程序?qū)嶋H上由用于執(zhí)行不同任務(wù)的一行或多行Lingo命令組成,,Lingo命令中包含實(shí)現(xiàn)交互操作的各種函數(shù)、屬性和變量,,這些參數(shù)將跟隨用戶(hù)的操作而實(shí)時(shí)地改變著交互的媒體對(duì)象,,Lingo程序幾乎提供了所有媒體對(duì)象的操作函數(shù),當(dāng)用戶(hù)對(duì)某個(gè)對(duì)象進(jìn)行操作時(shí),,處理程序只需要執(zhí)行該媒體對(duì)象所支持的Lingo命令即可實(shí)現(xiàn)與用戶(hù)的交互,。
 因此利用Lingo實(shí)現(xiàn)交互的基本思路和模型是在客戶(hù)端先下載一個(gè)用戶(hù)操作接口,系統(tǒng)根據(jù)客戶(hù)端用戶(hù)的操作觸發(fā)系統(tǒng)消息,,并將其返回到服務(wù)器端,,服務(wù)器端的事件對(duì)客戶(hù)端發(fā)出的系統(tǒng)消息進(jìn)行審核并截獲后觸發(fā)處理程序,開(kāi)始執(zhí)行相應(yīng)的Lingo命令,,處理程序執(zhí)行后將對(duì)媒體對(duì)象的狀態(tài)進(jìn)行重新組合,,最終返回給客戶(hù)端的用戶(hù)界面上,這樣就可以實(shí)現(xiàn)媒體對(duì)象跟隨用戶(hù)操作不斷發(fā)生變化的效果,。
2 基于Lingo的數(shù)字媒體交互控制模型的設(shè)計(jì)
 根據(jù)Lingo實(shí)現(xiàn)交互的運(yùn)行機(jī)制,,基于Lingo的數(shù)字媒體交互控制模型的系統(tǒng)設(shè)計(jì)框架圖如圖1所示。主要包括信息交互模塊,、主控服務(wù)器模塊和顯示控制模塊三個(gè)部分,。

 信息交互模塊部署在交互控制終端上,負(fù)責(zé)完成人機(jī)信息交互功能,,它接收客戶(hù)端用戶(hù)的操作請(qǐng)求,,并及時(shí)將這些請(qǐng)求信息收集并發(fā)送給主控服務(wù)器模塊;按照主控服務(wù)器模塊的命令調(diào)用其他組件執(zhí)行遠(yuǎn)程功能,,將執(zhí)行結(jié)果返回給主控服務(wù)器模塊進(jìn)行分析處理,。
 主控服務(wù)模塊主要負(fù)責(zé)執(zhí)行系統(tǒng)的控制管理功能和交互操作的組織協(xié)調(diào)功能,,并自始自終保持和其他模塊的通信。它對(duì)信息交互模塊中發(fā)送過(guò)來(lái)的消息進(jìn)行分析處理,,判定觸發(fā)的Lingo事件和執(zhí)行處理程序,,將程序的執(zhí)行效果轉(zhuǎn)發(fā)給顯示終端。
 顯示控制模塊主要用于對(duì)各種媒體對(duì)象進(jìn)行顯示和播放控制,,部署在顯示終端上,。它響應(yīng)主控服務(wù)器的各種Lingo控制命令,完成對(duì)媒體對(duì)象的顯示控制,,切換顯示設(shè)備上的媒體顯示內(nèi)容,,并配合交互控制終端上的信息交互模塊對(duì)媒體文件的播放進(jìn)行控制,使得不論是普通媒體還是交互媒體都能流暢播放,。
3 關(guān)鍵技術(shù)實(shí)現(xiàn)
 在Lingo控制下的數(shù)字媒體交互控制模型中,,用戶(hù)與媒體對(duì)象之間的通信關(guān)鍵是由主控服務(wù)模塊來(lái)進(jìn)行控制的,通過(guò)在主服務(wù)器中Lingo事件監(jiān)聽(tīng)端口接收信息交互模塊中的用戶(hù)的控制消息,,并執(zhí)行Lingo處理程序控制顯示模塊中的媒體對(duì)象,,從而完成整個(gè)交互體驗(yàn)流程,如圖2所示,。

 

 

3.2 Lingo處理程序?qū)γ襟w對(duì)象的調(diào)用和控制
 當(dāng)事件截獲系統(tǒng)消息后,,就會(huì)執(zhí)行事件中相應(yīng)處理程序達(dá)到對(duì)媒體對(duì)象的控制。在Lingo中處理程序在事件調(diào)用的后面,,以關(guān)鍵字end結(jié)尾,。
on mouseup me
        statement(s)--Lingo處理程序
end
 Lingo處理程序由一個(gè)或者多個(gè)Lingo命令組成,媒體對(duì)象根據(jù)命令的控制改變自身的組織形式,。在Lingo命令中主要通過(guò)sprite關(guān)鍵字調(diào)用媒體對(duì)象,,并通過(guò)更改sprite的屬性實(shí)現(xiàn)對(duì)媒體對(duì)象的控制,例如下面用于實(shí)現(xiàn)媒體對(duì)象跟隨鼠標(biāo)運(yùn)動(dòng)的效果:
on mouseDown me
        sprite(1).LocH=the mouseH
        sprite(1).LocV=the mouseV
end
 當(dāng)用戶(hù)按下鼠標(biāo)后,,信息交互模塊發(fā)送出的按下鼠標(biāo)系統(tǒng)消息將會(huì)被主控服務(wù)模塊中的mouseDown事件接收,,進(jìn)而執(zhí)行事件所包含的處理程序,處理程序中的sprite關(guān)鍵字調(diào)用了處于精靈通道1中的媒體對(duì)象,,并更改媒體對(duì)象的LocH和LocV屬性值為鼠標(biāo)的坐標(biāo)點(diǎn)位置,,這樣當(dāng)鼠標(biāo)按下時(shí)在顯示控制模塊就會(huì)出現(xiàn)媒體對(duì)象,就實(shí)現(xiàn)了跟隨用戶(hù)鼠標(biāo)進(jìn)行移動(dòng)的效果,。Lingo程序中sprite關(guān)鍵字所包含的屬性還有很多,,只要更改其所對(duì)應(yīng)的屬性值就可以實(shí)現(xiàn)用戶(hù)對(duì)媒體對(duì)象的控制。
 本文針對(duì)Lingo語(yǔ)言主要探討了它的交互機(jī)制和關(guān)鍵技術(shù),,用戶(hù)可以通過(guò)自由組合Lingo事件和處理程序?qū)崿F(xiàn)所需要完成的各種交互效果,,Lingo語(yǔ)言作為控制媒體對(duì)象的重要技術(shù)將在數(shù)字媒體交互行為領(lǐng)域中發(fā)揮越來(lái)越多的作用。
參考文獻(xiàn)
[1] 張豪,何方.Director交互式多媒體開(kāi)發(fā)從新手到高手[M].北京:清華大學(xué)出版社,,2007.
[2] 張勝利,,耿哲嶠.Director MX 2004實(shí)用培訓(xùn)教程[M].北京:清華大學(xué)出版社,,2005.
[3] 呂悅寧,,譚坤.多媒體產(chǎn)品藝術(shù)設(shè)計(jì)[M].北京:高等教育出版社,2010.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。