国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于XML文件的動畫編輯與播放系統(tǒng)設(shè)計

2015-07-13 21:45李志巖等
電腦知識與技術(shù) 2015年13期

李志巖等

摘要:該文所介紹的動畫編輯和播放是一種“快速動畫”,可應(yīng)用于教師上課的動畫演示,學(xué)生的程序設(shè)計的邏輯能力培訓(xùn)等場景中。動畫的編輯和播放是通過XML文件聯(lián)系的,動畫數(shù)據(jù)存儲在XML文件中,播放器讀取XML文件數(shù)據(jù)進(jìn)行播放。整個過程不需要復(fù)雜的操作,制作簡單。

關(guān)鍵詞:動畫編輯;動畫播放;XML

中圖分類號:TP311 文獻(xiàn)標(biāo)志碼:A 文章編號:1009-3044(2015)13-0195-02

Abstract:The animation editing and playing in this paper is a kind of“Fast animation”,which can be applied to some scenarios,like animation presentation on a class by teachers,training the logical skills of students in programming,and so on.The animation editing and playing are contacted by XML files,the data of animation is stored in XML files,and then the player read the data in XML files and play the animation.There are no complex operations in the whole process,and it is very convenient.

Key words:animation editing; animation playing; XML

近年來,隨著計算機(jī)知識的不斷普及,越來多的人投入到使用計算機(jī)工作的隊伍中。人們在工作中溝通時往往需要直觀的動畫來介紹、描述某個語言難以表達(dá)的信息或情景。

微軟發(fā)布的圖形子系統(tǒng)WPF(Windows Presentation Foundation )為本類軟件提供了技術(shù)基礎(chǔ)。而本文所謂的“快速動畫”相較真正意義上的動畫創(chuàng)作方式而言,這里的“快速”,指的是不必逐幀對動畫進(jìn)行描繪,僅通過直觀的交互動作設(shè)計或腳本編輯方式即可完成動畫的設(shè)計工作。比如Scratch就是一款由麻省理工學(xué)院(MIT)研究開發(fā)的動畫編輯工具, MIT 做了相當(dāng)深入研究和頗具針對性的設(shè)計開發(fā),構(gòu)成程序的命令和參數(shù)通過積木形狀的模塊來實(shí)現(xiàn)此外這款軟件還提供了動作預(yù)覽,可以很方便地隨時查看動作效果。

本系統(tǒng)主要對簡單的動畫制作和播放進(jìn)行開發(fā),動畫文件的存儲以及解析是本系統(tǒng)研究的核心。該系統(tǒng)主要的主要功能動畫的制作和播放,具體包括:場景的添加,角色腳本的制作,角色動作的編輯,動畫的預(yù)覽,動畫播放。

1 關(guān)鍵技術(shù)

1.1 XML文件

動畫數(shù)據(jù)用XML文件存儲,其定義的標(biāo)簽有XML中的標(biāo)簽有:scences(總場景) scence (場景)players(總角色)player(角色),X,Y(坐標(biāo))rolestyles(角色總造型)style(角色造型)rolemusics (角色音樂)roleactions (角色總動作)roleaction(角色動作)actionname(動作名稱)。文件結(jié)構(gòu)為:總場景中包含若干個場景,每個場景中包含若干個角色,每個角色又包含自己相應(yīng)的若干屬性。

1.2 WPF

WPF(Windows Presentation Foundation)是微軟推出的基于Windows Vista的用戶界面框架一部分。他提供了統(tǒng)一的編程模型、語言和框架,真正做到了分離界面設(shè)計人員與開發(fā)人員的工作交互用戶界面。其的核心是一個與分辨率無關(guān)并且基于向量的呈現(xiàn)引擎,旨在利用現(xiàn)代圖形硬件的優(yōu)勢。WPF 通過一整套應(yīng)用程序開發(fā)功能擴(kuò)展了這個核心,這些功能包括可擴(kuò)展應(yīng)用程序標(biāo)記語言 (XAML)、控件、數(shù)據(jù)綁定、布局、二維和三維圖形、動畫、樣式、模板、文檔、媒體、文本和版式。本文中的動畫的播放和控制是基于WPF平臺做的二次動畫開發(fā)。

2 系統(tǒng)設(shè)計

2.1 整體架構(gòu)

系統(tǒng)的整體框架如圖1所示:

動作庫、人物庫、場景庫、音樂庫,作為動畫制作的資源,舞臺是實(shí)現(xiàn)制作過程中的實(shí)時顯示。XML文件作為制作平臺和播放器之間的橋梁,有著至關(guān)重要的作用。

2.2動畫編輯流程

動畫編輯的過程包括:素材的載入、動作的編輯、整體的預(yù)覽3部分。

動畫編輯中所需的素材在相應(yīng)的庫中保存,直接在相應(yīng)的庫中打開預(yù)覽效果,滿足動畫編輯的效果時才載入素材,當(dāng)沒有素材滿足時,可以將相應(yīng)的素材導(dǎo)入素材庫,之后可以方便的從素材庫中載入。

動作的編輯是動畫制作的靈魂。在動作庫中已存在動畫編輯所需的所有的動作,可以直接通過點(diǎn)擊相應(yīng)的按鈕來觸發(fā)相應(yīng)的動作。至于某些動作比較復(fù)雜,可以在控制類動作中選擇相應(yīng)的控制選項(xiàng)來完成復(fù)雜的動作,類似于高級語言的編輯。

動畫編輯完成后,可以進(jìn)行整體的預(yù)覽,讓動畫預(yù)覽到某一動作后停止,查看效果。如果動畫的播放效果滿意則播放下一段動作;如果不滿意可以進(jìn)行局部的微型調(diào)整,以滿足動畫的效果。整體預(yù)覽的效果如圖2所示。

2.3 解析流程

解析流程主要分為3個步驟:解析XML文件、查詢動作庫、讀入數(shù)據(jù)。

解析XML文件過程就是讀取動畫的腳本文件,解析出動作類型及其概念上的數(shù)據(jù)。由于動作的類型和動作的數(shù)據(jù)是分開的,所以需要從動作庫中查詢動作類型所對應(yīng)的數(shù)據(jù)。就像是上文所示的XML文件中“向下移動10步”這個動作,這是一個移動動作的類型,具體的“向上”、“10步”的概念,計算機(jī)并不能直接識別,所以需要把這個動作映射到動作類中。動作類中存儲有具體操作的數(shù)據(jù),“向上”涉及到方向的問題,“10步”涉及到到底體現(xiàn)在計算機(jī)中是多少像素的問題等等。所以查詢動作庫的目的就是讀出各個動作的操作數(shù)據(jù)。最后就是將讀出的數(shù)據(jù)動態(tài)加載系統(tǒng)中。

2.4播放處理流程

整個動畫過程是許多個動畫單位(如一個移動就是一個動畫單位)連續(xù)播放而成的,XML文件的解析以及動畫的還原,只是一個動畫單位的過程,在整個動畫的播放過程中一直在不斷的進(jìn)行著“解析——還原”的過程直到所有的動畫播放完成。如圖3所示:

這種控制的方式有一個好處,可以優(yōu)化動畫播放時對內(nèi)存的利用。由于在動畫播放的時候,主要加載的是圖片資源,并且還要需要時間控制,如果事先把所有的資源都加在進(jìn)來,放在一條時間軸上,就會使消耗掉大量的內(nèi)存,對電腦造成一定的負(fù)面影響。但是本文中采用的是一邊解析一邊播放的方式:先解析一個單位的動畫,然后播放,播放完成后釋放資源,再解析另一個動畫播放,這樣就可以降低內(nèi)存的使用率。其播放效果圖如圖4 所示。

3 結(jié)束語

動畫編輯與播放平臺就是一個集動畫劇本創(chuàng)作和動畫交互式演播于一體的多媒體動畫創(chuàng)作系統(tǒng)。此動畫編輯與播放系統(tǒng)操作簡單,易于使用,可以幫助人們快速建立動畫原型、快速建立動畫劇本,從而達(dá)到便捷建立動畫演示的目的。

在實(shí)際的應(yīng)用中,它可以幫助人們快速展示課件中無法建立的動畫效果,可以輔助商業(yè)用戶進(jìn)行多媒體展示,可以用來培養(yǎng)學(xué)生的程序設(shè)計的邏輯能力,也可以用來培養(yǎng)兒童們的動手能力。

參考文獻(xiàn):

[1] Matthew MACDonald. WPF編程寶典-C#2010版[M]. 王德才,譯.北京:清華大學(xué)出版社,2011.

[2] 嚴(yán)蔚敏,李冬梅,吳偉民,等. 數(shù)據(jù)結(jié)構(gòu)(C語言版)[M].北京:人民郵電出版社, 2013.

[3] 王小科,王軍,趙會東. C#編程寶典(十年珍藏版)[M].北京:人民郵電出版社, 2011.

[4] Kolko. 交互設(shè)計沉思錄[M]. 方舟,譯.北京:機(jī)械工業(yè)出版社,2013.

[5] Introduction to WPF,MSDN Library[Z].

齐河县| 吕梁市| 蒲江县| 漾濞| 渭南市| 堆龙德庆县| 山东| 黔江区| 嵊州市| 梓潼县| 屏南县| 丹棱县| 扎鲁特旗| 登封市| 习水县| 漠河县| 武鸣县| 岳池县| 略阳县| 晋中市| 巴林左旗| 景德镇市| 拉孜县| 布尔津县| 抚宁县| 皋兰县| 清镇市| 夏邑县| 吉林省| 宜良县| 固始县| 宁安市| 理塘县| 交口县| 扶风县| 溧阳市| 潞城市| 凯里市| 特克斯县| 桦南县| 郑州市|