任博文
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院,河南 鄭州 451100)
java編程語(yǔ)言是一種化繁為簡(jiǎn)的編程技術(shù),可以為普通編程技術(shù)提供更為便捷的編程語(yǔ)言,并且可以參照同類技術(shù)的優(yōu)點(diǎn),摒棄缺點(diǎn),將編程技術(shù)逐步完善[1]。交互式動(dòng)畫(huà)是一種互動(dòng)式的編程技術(shù),但是由于編程技術(shù)并不完善,導(dǎo)致互動(dòng)性并不高,屬于被動(dòng)選擇的形式,因此并不受歡迎。基于此將java運(yùn)用到交互式動(dòng)畫(huà)編程技術(shù)上,從以往的被動(dòng)選擇,發(fā)展成現(xiàn)在的主動(dòng)選擇,無(wú)論是畫(huà)質(zhì)還是操作,或者是交互性都有了很大的提升,用戶甚至可以自主編程,在小孩子的智力開(kāi)發(fā)方面有著較為顯著的優(yōu)勢(shì)。
交互式動(dòng)畫(huà)編程技術(shù)的流程有創(chuàng)建動(dòng)畫(huà)模型、打印動(dòng)畫(huà)文件、編輯交互式動(dòng)畫(huà)場(chǎng)景,以及發(fā)布交互式動(dòng)畫(huà)這四步。首先,創(chuàng)建動(dòng)畫(huà)模型,也就是利用建模工具創(chuàng)建出動(dòng)畫(huà)的三維模型;其次,將創(chuàng)建出的動(dòng)畫(huà)模型進(jìn)一步優(yōu)化,并打印出來(lái),觀察其畫(huà)質(zhì)是否清晰;再次,編輯出互動(dòng)式動(dòng)畫(huà),并且結(jié)合不同用戶的需求,編輯出不同的互動(dòng)式動(dòng)畫(huà);最后,將編輯好的交互式動(dòng)畫(huà)發(fā)布出去,初步實(shí)現(xiàn)動(dòng)畫(huà)互動(dòng)模式[2]。具體交互式動(dòng)畫(huà)流程圖如圖1所示。
圖1 交互式動(dòng)畫(huà)流程圖
如圖1所示,交互式動(dòng)畫(huà)編程技術(shù)的流程是以用戶選擇為主,用戶可以自主選擇提示中的動(dòng)畫(huà)模式,喜歡就選擇,不喜歡就劃走,憑主觀意愿而定。相比較于常規(guī)的交互式動(dòng)畫(huà),新制定出的交互式動(dòng)畫(huà)會(huì)更受歡迎。從流程圖中可以看出,每一個(gè)節(jié)點(diǎn),用戶都可以選擇是或否,直到選擇到自己喜歡的交互式動(dòng)畫(huà)。
交互式動(dòng)畫(huà)的編程指令是指帶動(dòng)整個(gè)畫(huà)面動(dòng)起來(lái),并且完成交互工作的指令。其指令包括動(dòng)畫(huà)類、畫(huà)面處理類、畫(huà)面控制類、交互式流程類、動(dòng)畫(huà)編程類,以及動(dòng)畫(huà)管理類等編程指令。編程指令通過(guò)編輯動(dòng)畫(huà)描述動(dòng)畫(huà)內(nèi)容。動(dòng)畫(huà)中出現(xiàn)的直線運(yùn)動(dòng)可以通過(guò)指令中設(shè)計(jì)的路線點(diǎn),實(shí)現(xiàn)正確的目標(biāo)路線。圓形的路線相對(duì)復(fù)雜一點(diǎn),需要經(jīng)過(guò)設(shè)計(jì)出路線點(diǎn)與目標(biāo)點(diǎn),并且需要保證運(yùn)動(dòng)路線呈圓形[3]。要確定交互式動(dòng)畫(huà)的實(shí)際動(dòng)作軌跡,需要設(shè)置速度,為避免動(dòng)畫(huà)動(dòng)作過(guò)快,其動(dòng)作速度以最大允許速度的百分比來(lái)給定。
畫(huà)面處理指令是指,對(duì)交互式動(dòng)畫(huà)的畫(huà)面、畫(huà)質(zhì)進(jìn)行處理的指令,包括讀取用戶體驗(yàn)、用戶選擇,以及用戶設(shè)置三個(gè)方面。交互式流程指令是指,嚴(yán)格遵照上文制定出的交互式動(dòng)畫(huà)編程技術(shù)流程,是對(duì)交互式動(dòng)畫(huà)工作產(chǎn)生影響的指令。動(dòng)畫(huà)編程類指令是指,在交互式動(dòng)畫(huà)編程時(shí),運(yùn)用java的編程語(yǔ)言,并直接在編程控制系統(tǒng)結(jié)構(gòu)中,以用戶為中心的交互界面,是一個(gè)允許用戶描述和互動(dòng)的集成環(huán)境。為方便用戶實(shí)現(xiàn)互動(dòng),用戶編程系統(tǒng)的功能一般為,對(duì)用戶程序文件的管理、編輯、編譯、下載,以及對(duì)交互式動(dòng)畫(huà)的動(dòng)畫(huà)狀態(tài)的實(shí)時(shí)監(jiān)控等方面,將較為復(fù)雜的編程技術(shù)簡(jiǎn)單化,提高交互式動(dòng)畫(huà)的編程效率。動(dòng)畫(huà)管理的編程指令是指,將所有交互式動(dòng)畫(huà)進(jìn)行整理,并將其分類,逐個(gè)分類做出相應(yīng)的標(biāo)簽,降低查找動(dòng)畫(huà)的難度。
交互式動(dòng)畫(huà)編程界面的構(gòu)成和布局也是值得關(guān)注的問(wèn)題。一個(gè)界面或動(dòng)畫(huà)編程的布局直接關(guān)系到用戶的興趣,如果用戶的注意力首先被吸引到一個(gè)動(dòng)畫(huà)的元素上,而這個(gè)動(dòng)畫(huà)元素恰好是他需要的,就會(huì)增加用戶的交互體驗(yàn)。通常,最好看的動(dòng)畫(huà)元素會(huì)放置在屏幕中央,或者是占據(jù)整個(gè)動(dòng)畫(huà)區(qū)域的最大位置,以便增強(qiáng)用戶對(duì)交互動(dòng)畫(huà)的注意力。將一些次要的動(dòng)畫(huà)元素排列在角落的區(qū)域,以不妨礙主動(dòng)畫(huà)元素為前提,強(qiáng)化用戶“看”交互動(dòng)畫(huà)的體驗(yàn),讓用戶的注意力集中在交互動(dòng)畫(huà)的情節(jié)和動(dòng)作的互動(dòng)上,甚至可以弱化或舍棄某些非必要的動(dòng)畫(huà)元素[4]。交互式動(dòng)畫(huà)編程布局的好壞是影響用戶群數(shù)量的重要因素。一個(gè)豐富多彩的交互式動(dòng)畫(huà)布局可以贏得很多用戶的青睞,但由于其設(shè)計(jì)的豐富性,使交互式動(dòng)畫(huà)使用效率的損失也會(huì)較大。因?yàn)榻换ナ絼?dòng)畫(huà)編程布局始終是為了提供用戶體驗(yàn),所以優(yōu)化交互式動(dòng)畫(huà)的編程布局也要從用戶的角度出發(fā)[5]。
利用java編程語(yǔ)言編寫(xiě)的程序具有獨(dú)立的體系結(jié)構(gòu),可以在交互式動(dòng)畫(huà)上轉(zhuǎn)換成內(nèi)存較少的編程代碼,理論上可以完美達(dá)成減小內(nèi)存的要求,并且在任何系統(tǒng)都可以應(yīng)用[6],在優(yōu)化編程布局方面具有很大的優(yōu)勢(shì)。
要實(shí)現(xiàn)動(dòng)畫(huà)過(guò)程的交互,就要了解動(dòng)畫(huà)編程代碼轉(zhuǎn)換器的應(yīng)用,并且熟悉其轉(zhuǎn)換流程,代碼轉(zhuǎn)換器會(huì)自動(dòng)翻譯,并生成符合交互式動(dòng)畫(huà)的編程語(yǔ)言,再結(jié)合java的編程語(yǔ)言,將自動(dòng)生成的編程代碼壓縮,實(shí)現(xiàn)交互式動(dòng)畫(huà)的基本目標(biāo)?;趈ava設(shè)計(jì)的交互式動(dòng)畫(huà),可以利用java編程語(yǔ)言,將復(fù)雜的動(dòng)畫(huà)編程轉(zhuǎn)換成簡(jiǎn)單的動(dòng)畫(huà)編程,方便減少交互式動(dòng)畫(huà)、模型和管理文件的內(nèi)存[7]。并且,在此基礎(chǔ)上展現(xiàn)較為優(yōu)質(zhì)的交互式動(dòng)畫(huà)圖像,給用戶情境重現(xiàn)一樣的效果??梢苑糯蠼换ナ絼?dòng)畫(huà)中的不足之處,從根本上消除設(shè)計(jì)的風(fēng)險(xiǎn)?;趈ava設(shè)計(jì)的交互式動(dòng)畫(huà)代碼轉(zhuǎn)換器,可以支持用戶對(duì)動(dòng)畫(huà)內(nèi)容的修改,技術(shù)人員通過(guò)用戶的修改,隨時(shí)用轉(zhuǎn)換器轉(zhuǎn)換成用戶想要的編程代碼。此轉(zhuǎn)換器會(huì)將接收到的代碼進(jìn)行區(qū)分,分不同類別、不同要求翻譯成新的代碼,并且轉(zhuǎn)換器轉(zhuǎn)換后的代碼較為不穩(wěn)定,不適合于搭配各種動(dòng)畫(huà)元素[8]。所以在實(shí)際設(shè)計(jì)交互式動(dòng)畫(huà)編程技術(shù)的轉(zhuǎn)換器時(shí),要對(duì)轉(zhuǎn)換器轉(zhuǎn)換出的代碼配備相應(yīng)的翻譯部件。翻譯結(jié)束后,轉(zhuǎn)換成java編程語(yǔ)言,真正實(shí)現(xiàn)交互式動(dòng)畫(huà)。
就常規(guī)的交互式動(dòng)畫(huà)編程技術(shù)而言,維護(hù)次數(shù)較少,也可以無(wú)限次使用,但是編寫(xiě)時(shí)間較長(zhǎng),編寫(xiě)效率較慢,導(dǎo)致交互式動(dòng)畫(huà)較少。通過(guò)上述研究,本文設(shè)計(jì)的基于java的交互式動(dòng)畫(huà)編程技術(shù),理論上可以縮短交互式動(dòng)畫(huà)編程的編寫(xiě)時(shí)間,以某編程公司的編程技術(shù)人員為例,分別編寫(xiě)常規(guī)的交互式動(dòng)畫(huà)編程技術(shù)1、常規(guī)的交互式動(dòng)畫(huà)編程技術(shù)2,以及本文設(shè)計(jì)的交互式動(dòng)畫(huà)編程技術(shù),驗(yàn)證本文設(shè)計(jì)的交互式動(dòng)畫(huà)編程技術(shù),編寫(xiě)時(shí)間是否縮短。
此次試驗(yàn)以常規(guī)的交互式動(dòng)畫(huà)編程技術(shù)1、常規(guī)的交互式動(dòng)畫(huà)編程技術(shù)2,以及本文設(shè)計(jì)的交互式動(dòng)畫(huà)編程技術(shù),3種編程技術(shù)在編寫(xiě)時(shí)間、每次編寫(xiě)的維護(hù)次數(shù),以及重復(fù)使用性幾方面,作對(duì)比實(shí)驗(yàn),驗(yàn)證本文設(shè)計(jì)的交互式動(dòng)畫(huà)編程技術(shù)可以是否縮短編寫(xiě)時(shí)間。
根據(jù)此次試驗(yàn)的3種交互式編程技術(shù)的編寫(xiě)時(shí)間來(lái)看,本文設(shè)計(jì)的交互式動(dòng)畫(huà)編程技術(shù),在時(shí)間上遠(yuǎn)遠(yuǎn)少于常規(guī)的交互式動(dòng)畫(huà)編程技術(shù),具體實(shí)驗(yàn)結(jié)果如表1所示。由表1可知,常規(guī)的交互式動(dòng)畫(huà)編程技術(shù)1、常規(guī)的交互式動(dòng)畫(huà)編程技術(shù)2,兩種編程方式的編寫(xiě)時(shí)間較長(zhǎng),在5個(gè)小時(shí)左右,而本文設(shè)計(jì)的交互式動(dòng)畫(huà)編程技術(shù),編寫(xiě)時(shí)間在1個(gè)小時(shí)左右,三者的維護(hù)次數(shù)與可復(fù)用性都相同,但是編寫(xiě)時(shí)間短,就會(huì)提高編寫(xiě)效率,比常規(guī)的交互式動(dòng)畫(huà)編程技術(shù)更具有實(shí)用意義。
表1 三種編程技術(shù)編寫(xiě)時(shí)間對(duì)比
在當(dāng)今信息化的時(shí)代,計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)已經(jīng)逐漸成為不可替代的工具,并逐漸運(yùn)用到人們的生活中,java是一種較為簡(jiǎn)單的編程語(yǔ)言,有很多優(yōu)點(diǎn),是將常規(guī)的復(fù)雜編程技術(shù)改良成簡(jiǎn)單的編程技術(shù)。在縮短編程時(shí)間的同時(shí),提高編程效率。本文研究了基于java的交互式動(dòng)畫(huà)編程技術(shù),并通過(guò)實(shí)驗(yàn)證明設(shè)計(jì)的有效性。