新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統中動畫設計方法的適用度分析

        嵌入式系統中動畫設計方法的適用度分析

        作者: 時間:2009-12-16 來源:網絡 收藏

        (7)使用VC實現高速平滑的簡單動畫的
        許多軟件(特別是游戲軟件)的開發中,實現高速平滑的動畫需要比較深的技術,如OpenGL、DirectX,并且可能還要開發人員有深厚的數學功底。但是,如果只是在開發過程中,想為應用程序的界面實現一些動畫效果,就可能不用以上這些技術了,更多的是用WindowsAPI提供或MFC封裝后的GDI繪圖函數來實現。雖然所需動畫的復雜程度不高,但作為開發人員,并不能為此就降低對動畫效果的要求。因此,需要了解如何用GDI函數來開發平滑無閃、高速的動畫。
        該技術的關鍵就是在內存中創建一個與顯示動畫的窗口區域一樣大的位圖,先用GDI函數繪制位圖,然后在適當的時候從內存中顯示出來。因為位圖已經繪制好,不象平時編程那樣邊繪制邊顯示,所以,顯示一幀圖形時便減少了閃爍,從而實現平滑動畫;同時,由于圖形是從內存中直接顯示到當前窗體的,所以速度很快,從而實現高速動畫。如果再創建一個線程后臺繪制圖形,將會實現很多特殊效果的動畫,使的用戶界面收到意想不到的效果。
        在此基礎上,還可以在顯示位圖時作優化顯示。例如:不是將位圖全部顯示出來,而是顯示其中動畫的一部分,因為BitBlt函數作位傳輸很慢。這樣更符合重視效率的特點。

        本文引用地址:http://www.104case.com/article/152229.htm


        2 需要安裝第三方軟件的
        (1)為教學研究開發的嵌入式設備可使用Ubigraph
        graphviz和Ubigraph都是圖論生成軟件,但Ubig-raph功能更強,利用它可以快速生成圖論模型的圖形和動態圖像,直觀地展示出各種圖論模型的三維結構,演示各種圖論算法的過程。因為可以嵌入到Java、C、C++等語言中,所以當然適合用于嵌入式系統的,尤其是一些專門為教學研究開發的嵌入式設備。
        (2)Flash對嵌入式系統而言太過華麗
        Flash是一種功能強大的矢量動畫軟件,但是所用到的高級技術比較多,不過為了能夠做出精美的電影特技效果的動畫,還是值得對其進行深入研究的。然而,對于嵌入式系統開發而言,它實在是太過華麗了;如果不是特別需要突出游戲或者動畫的精致效果,一般開發者應該不會舍本逐末以此來犧牲系統的速度和容量。
        (3)DirectDraw對嵌入式系統的
        DirectDraw使用頁面切換的方法實現圖像動態。它不僅可以訪問系統內存,還可以訪問顯示內存,實現圖像動態的同時不會使得畫面閃爍,是一種“完美切換”技術;因此DirectDraw技術很受程序員青睞,尤其在虛擬現實技術中應用廣泛。但是,顯而易見,該方法需要占用很大內存,安裝所需的開發文件同樣需要較大硬盤空間,應用到一般的嵌入式系統中,對反應速度等的限制將會比較明顯。
        其實,用DirectDraw編程的核心要點即“幾個表面之間拷來拷去”。在對界面的動畫復雜程度要求不高的嵌入式系統中,可以采用C程序作為開發語言,并且在動畫實現方法上,利用前述C程序設計中顯示頁和編輯頁交替變化的方法,來代替幾個表面交替拷貝的DirectDraw方法。然而,如果是大型的嵌入式系統,并且重視界面動畫效果,采用DirectDraw方法和面向對象開發語言,仍然是更好的選擇。
        當然,若對美術工藝有特殊要求,可以嘗試將更專業的技術(如顏色鎖結及用于3D效果的Z排序與視差)引入到嵌入式系統軟件設計中――這種系統本身也應該是專業的、功能專用的,否則只能停留在理論上,難以實現!


        3 可用于嵌入式系統開發的腳本語言
        當動畫應用于網絡時,可以選擇直接使用腳本語言設計,譬如JSP、PHP等。當今的很多嵌入式系統都有連接網絡的需求和相應功能,雖然大多數系統的屏幕動畫都不涉及對外發布的問題,但在聯網嵌入式系統的開發中直接使用腳本語言編寫動畫,也不啻為一個新的思路。
        Python可作為嵌入式系統的開發語言(在Nokia智能手機所采用的Symbian操作系統上已得到證明)。它最大的優勢是能夠很輕松地把使用其他語言制作的各種模塊(尤其是C/C++)輕松地聯結在一起。由此,既可以直接使用Py-thon編寫簡單的界面動畫,也可以將對速度要求更高的復雜動畫使用C++語言編寫后嵌入到Python程序中。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 潮安县| 仁寿县| 抚远县| 宣威市| 江门市| 河间市| 邵阳市| 静安区| 安徽省| 渭南市| 盐城市| 临泉县| 永福县| 曲松县| 那曲县| 麟游县| 晋宁县| 师宗县| 鹿邑县| 抚松县| 游戏| 波密县| 南丹县| 常山县| 黎城县| 山阴县| 福泉市| 木兰县| 绵阳市| 宁安市| 瓮安县| 涡阳县| 永川市| 达孜县| 洛扎县| 河南省| 宝应县| 山东| 宁明县| 塘沽区| 彭阳县|