最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Egret引擎開發(fā)指南之視覺編程

 更新時間:2014年09月03日 09:51:21   投稿:hebedich  
本部分內(nèi)容詳細介紹了Egret中關于視覺編程顯示對象的架構設計以及一些概念,希望對大家能有所幫助

顯示對象和顯示列表

“顯示對象”,準確的含義是可以在舞臺上顯示的對象。可以顯示的對象,既包括可以直接看見的圖形、文字、視頻、圖片等,也包括不能看見但真實存在的顯示對象容器。

在Egret中,視覺圖形都是由顯示對象和顯示對象容器組成的。

如果我們要表達上圖中的場景,我們應該如何通過樹的方式來描述呢?

顯示對象等級結構

在Egret中,顯示對象被分為兩大類:一種是可以包括其他顯示對象的顯示對象容器,簡稱為“容器”。另外一種是單純的顯示對象,除自身以外不能包括其他顯示對象,簡稱“非容器對象”。

在實際的操作中,我們可以把這樣一種結構看成一個樹狀結構,容器可理解為樹枝,非容器對象則可以理解為樹葉。

在這個樹狀結構中,處于最上層的,就是“舞臺”。對應到程序中,我們可以看到一個 stage 對象。舞臺是Egret顯示架構中最根本的顯示容器。每個Egret應用有且只有一個stage對象。舞臺是這個顯示樹結構的根節(jié)點。

在舞臺中,我們還擁有一個主容器。這個容器就是文檔類所創(chuàng)建的容器。每一個Egret都會擁有一個文檔類,這個文檔類必須是一個顯示對象容器。

在這個場景中,我們包含了一個場景背景,而背景是由背景圖和一顆大樹組成的。另外兩個元素是由人物和一個草地組成的。

顯示列表

上面我們所看到的樹狀顯示對象結構圖實際上就是Egret的“顯示列表”。

使用顯示列表管理容器和非容器對象是非常方便的,當某一個顯示對象處在在顯示列表中,我們就可以在畫面中看到該對象。當我們將顯示對象從顯示列表中移除后,該對象則從畫面中消失。

在Egret內(nèi)部維護著一個顯示列表,開發(fā)者無需關心該列表是如何運行的,你只需要對自己的顯示對象進行相應的操作即可。

顯示對象種類

Egret在架構設計過程中圍繞顯示列表的概念,對所有對象進行了嚴格的封裝。在Egret中,所有的顯示對象均繼承自 DisplayObject 這個類。DisplayObject 類也就是我們前面描述的“顯示對象”。在Egret中,所有的“容器”均繼承自 DisplayObjectContainer。

為了統(tǒng)一管理顯示列表,所有顯示對象都統(tǒng)一于DisplayObject類。所有的顯示對象都繼承自DisplayObject,而DisplayObject則繼承自EventDispatcher。也就是說所有的顯示對象均可以發(fā)送事件。

DisplayObjectContainer顯示對象容器的父類也是DisplayObject。

我們在實際操作中把概念再次簡化,可以歸納為兩條規(guī)則:

直接繼承自DisplayObject的類都屬于非容器。繼承自DisplayObjectContainer的類都屬于容器。

相關文章

  • Node.js使用Sharp.js進行圖像處理的實踐與技巧

    Node.js使用Sharp.js進行圖像處理的實踐與技巧

    Sharp.js 是一個高性能的 Node.js 圖像處理庫,基于 C 語言編寫的 libvips 庫封裝而來,提供了便捷、高效的圖片編輯與轉(zhuǎn)換功能,以下是對 Sharp.js 的深入解析,包括全方位實踐與技巧,需要的朋友可以參考下
    2024-08-08
  • win10環(huán)境使用nvm安裝多版本nodejs并配置環(huán)境變量的完整步驟

    win10環(huán)境使用nvm安裝多版本nodejs并配置環(huán)境變量的完整步驟

    這篇文章主要給大家介紹了關于win10環(huán)境使用nvm安裝多版本nodejs并配置環(huán)境變量的相關資料,需要的朋友可以參考下
    2024-01-01
  • CentOS7中源碼編譯安裝NodeJS的完整步驟

    CentOS7中源碼編譯安裝NodeJS的完整步驟

    這篇文章主要給大家介紹了關于CentOS7中源碼編譯安裝NodeJS的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用nodejs具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-10-10
  • Node.js實現(xiàn)解析post請求的方法詳解

    Node.js實現(xiàn)解析post請求的方法詳解

    這篇文章主要為大家詳細介紹了Node.js實現(xiàn)解析post請求方法的相關知識,文中的示例代碼講解詳細,具有一定的學習價值,有需要的小伙伴可以了解下
    2024-04-04
  • Nodejs實現(xiàn)獲取實時數(shù)據(jù)的三種主流方式詳解

    Nodejs實現(xiàn)獲取實時數(shù)據(jù)的三種主流方式詳解

    這篇文章主要為大家詳細介紹了Nodejs前端獲取實時數(shù)據(jù)的三種主流方式,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-02-02
  • Bun入門學習教程吊打Node或Deno的現(xiàn)代JS運行時

    Bun入門學習教程吊打Node或Deno的現(xiàn)代JS運行時

    這篇文章主要為大家介紹了一款吊打Node或Deno的現(xiàn)代JS運行時,Bun入門學習教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Node.js學習之地址解析模塊URL的使用詳解

    Node.js學習之地址解析模塊URL的使用詳解

    url模塊是nodejs里面的一個簡單的模塊,下面這篇文章主要給大家介紹了關于Node.js學習之地址解析模塊URL使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • Node.js包管理工具(npm、yarn、cnpm)

    Node.js包管理工具(npm、yarn、cnpm)

    本文主要介紹了Node.js包管理工具,包含npm、yarn、cnpm者三種,借助包管理工具,可以快速開發(fā)項目,提升開發(fā)效率,下面就來具體介紹一下如何使用,感興趣的可以了解一下
    2024-08-08
  • 使用pify實現(xiàn)Node.js回調(diào)函數(shù)的Promise化

    使用pify實現(xiàn)Node.js回調(diào)函數(shù)的Promise化

    使用pify庫,你可以非常便利地將任何遵循Node.js回調(diào)風格的函數(shù)轉(zhuǎn)換為返回Promise對象的函數(shù),從而使得你的異步代碼更加清晰和易于維護,本文通過豐富的代碼示例引導你如何有效地利用pify,需要的朋友可以參考下
    2024-06-06
  • nodejs腳本中如何執(zhí)行shell命令

    nodejs腳本中如何執(zhí)行shell命令

    Node.js中使用child_process模塊的exec和spawn方法來執(zhí)行shell命令,exec適合執(zhí)行小命令,返回輸出;spawn適合大命令或長時間運行的命令,實時輸出
    2025-02-02

最新評論

镇赉县| 巴里| 凤山市| 廉江市| 东至县| 烟台市| 安国市| 龙陵县| 岳西县| 左贡县| 永登县| 田东县| 内黄县| 班玛县| 天门市| 大同市| 泗洪县| 丰镇市| 万安县| 图们市| 华亭县| 宿迁市| 本溪| 龙州县| 达日县| 小金县| 甘洛县| 渝北区| 嘉兴市| 葫芦岛市| 二连浩特市| 荃湾区| 南雄市| 紫金县| 哈巴河县| 图木舒克市| 巨野县| 镇远县| 宁河县| 建瓯市| 南丹县|