樊國瑞
(大同市財會學校,山西大同)
Flash 動畫制作軟件具有繪圖功能強大、支持高級透明效果、可自定義字體和靈活插入聲音連接等特點,在二維矢量動畫制作領域有著廣泛應用。使用ActionScript 語言設計Flash 角色動畫控制系統,可以降低系統開發難度、節約動畫制作成本。在這一基礎上,開發人員必須掌握基于ActionScript 編程語言的系統設計方法,從而確保系統功能性和非功能性需求的順利實現。
本文設計的Flash 角色動畫控制系統,通過顯示器、鼠標、鍵盤、游戲桿與揚聲器五個硬件實現與用戶的人機交互。系統啟動運行后處于待機狀態,當接收到用戶發出的指令或輸出的信息,經過圖形管理器、輸入管理器、聲音管理器等內部設備的執行后,作出物理運動模擬、播放音樂音效和更新顯示內容等響應[1]。同時,用戶輸入信息和系統運行信息都會保存在數據庫中,以備查看。該系統的整體架構如圖1 所示。

圖1 Flash 角色動畫控制系統的整體架構
本系統使用到的接口主要分為外部接口和內部接口兩大類。外部接口包括:
(1) IEventDispatcher 接口,用于事件監聽器的管理,例如檢查某種類型的事件監聽器是否注冊,完成事件監聽器的添加與刪除等。
(2) IGraphicsData 接口,可定義Flash.display.Graphics 方法中的參數對象,如填充顏色、規劃路徑等。
(3) Mouse 接口,改變鼠標指針的樣式,或者隱藏/顯示鼠標指針。
(4) LoaderInfo 接口,可提供已經完成加載的SWF 文件或者JPEG 等常見格式的圖像文件[2]。
除此之外,像用于網絡發送與接收的Flash.net包、用于處理多媒體資源的Flash.media 包,以及用于鼠標和鍵盤交互的Flash.ui 包等,也都屬于系統的外部接口。為了方便系統功能的實現和降低系統的開發難度,本文在接口設計中還定義了幾種基本的內部接口類型,如用于更新顯示內容的IDisplayManager 接口,用于控制音樂與音效播放的ISoundManager 接口,以及用于輸入信息的InputManager 接口等[3]。
本系統中使用到的主要類有:
(1) CApplication(應用程序)類,可實現圖像文件的加載、場景定位、場景效果控制、資源加載與編輯、角色創建與控制、聲音播放等功能;
(2) CFrameWork(框架基礎)類,可用于設置程序背景、添加定時器、輸入監聽事件、控制應用程序。
(3) CPlayer(角色)類,可實現角色的創建、拖動與控制,支持角色動畫的預覽與更新,以及對角色動畫參數(如播放速度)的自定義設定。
(4) CPlayerData(角色數據)類,用于存儲角色相關數據,包括角色的位置、狀態等。
除了上述主要類外,還包括了CPublicData(公共數據) 類、CGraphicManager (圖形管理器) 類、CInputManager(輸入管理器)類、CSoundManager(聲音管理器)類等,各類之間的關系如圖2 所示。

圖2 類的關系
本系統的測試環境如下:硬件部分,CPU 為Intel Pentium Gold G5400,頻率3.70GHz;顯卡ATI FireGL 5700;內存8GB;硬盤1TB;聲卡SoundMax。軟件部分,操作系統為Windows10;主板驅動10.4.0.1230_PV;應用軟件有Adobe Flash CS5。
Flash 角色動畫控制系統的測試內容大體分為4部分,即功能測試、可靠性測試、實時性測試和用戶界面測試,測試方法與測試內容見表1。

表1 Flash 角色動畫控制系統的測試內容
常用的測試方法白盒、黑盒與灰盒三種,其中黑盒測試又稱“數據驅動測試”,其核心實現是假定設計的產品應該具有某項功能,然后測試該功能能否實現。黑盒測試的優勢在不受程序內部結構的限制,通過調用程序接口即可完成測試內容,操作更加便捷[4]。
2.3.1 功能測試
對Flash 角色動畫控制系統的基本功能進行測試,判斷系統功能是否滿足用戶需求。根據系統設計需求,主要選擇了創建對象、拖動角色、運動模擬、碰撞檢測等幾項功能進行了測試,操作過程與測試結果見表2。

表2 系統部分功能測試結果
從測試情況來看,本文設計的Flash 角色動畫控制系統能夠較為便捷地完成角色創建,可以用鼠標將創建的角色拖動到屏幕的任意位置,并使用鍵盤控制角色進行上、下、左、右運動。可以播放關鍵幀動畫,并且較為逼真地模擬跳躍、加速等簡單物理現象。當角色與其他對象(角色或物體)接觸時,能進行碰撞檢測。測試期間可以播放音效和音樂[5]。
2.3.2 用戶界面測試
對于人機交互界面進行了4 項測試,包括界面是否簡潔、友好,以及界面的一致性與安全性,測試方法與測試結果見表3。

表3 系統用戶界面測試結果
從測試情況來看,本文設計的Flash 角色動畫控制系統界面簡潔明了,方便用戶理解系統的主要功能,降低了用戶的上手門檻,減少了誤操作。同時,界面上有簡單的提示信息,充分體現了人性化設計。界面風格與內容具有良好的一致性。用戶的任意操作都可以通過返回或撤銷的方式進行回退,安全性高;當用戶操作失誤時,會有相應的提示信息。
2.3.3 性能測試
針對系統的數據是否安全、運行是否可靠、能否實時相應,以及是否可維護可擴展等性能進行了測試,測試方法與結果見表4。

表4 系統性能測試結果
從測試情況來看,本文設計的Flash 角色動畫控制系統能夠對用戶輸入的數據信息作出正確處理,并且將數據備份后保存到數據庫中,數據安全性較好。在系統出現異常工況,或者用戶操作失誤后,能夠給出錯誤提示并控制故障,保證了系統的安全可靠。系統留有備用接口,后期可根據用戶需求進行靈活擴展。此外,用戶的各項操作都能在顯示器上同步顯示,系統的實時反饋效果良好。
基于Actionscript3.0 編程語言開發Flash 角色動畫控制系統,利用I/O 設備完成人機交互,利用API 接口執行開發操作。從測試效果看,該系統可以支持用戶創建動畫角色,并使用鼠標和鍵盤控制角色移動;可模擬跳躍、加速等基本的物理現象;提供碰撞檢測功能以及音效、音樂的播放功能。各項需求基本實現,符合設計預期。