表層(Overlay)指令碼

2021-05-23 10:10:25 字數 1126 閱讀 4872

表層指令碼提供給你用指令碼定義圖層以方便重複使用的能力。與此同時,你可以使用scenemanager,overlay以及 overlayelement類的方法在**中為乙個場景建立所有圖層,雖然在使用中,有點兒不太好用。相反你可以以文字檔案的方式儲存層定義,而在需要 的時候呼叫。

裝載指令碼

表層指令碼在初始化時由系統裝入:預設,它搜尋所有普通資源位置(參看root::addresourcelocation)查詢有 『.overlay』副檔名的檔案,並分析它。如果你想要分析別的副檔名的檔案,則對你的那個副檔名使用 overlaymanager::getsingleton().parseallsources方法,或者如果你想要分析乙個單獨檔案,則使用 overlaymanager::getsingleton().parsescript。

格式多個層可以被定義在單獨乙個指令碼中。指令碼格式是偽c++的,用打括號({})分割各個部分,以』//』開始的一行表示注釋(注意,不允許巢狀注釋),且通過使用模板繼承。典型例子的一般格式如下所示:

// the name of the overlay comes first

myoverlays/anewoverlay

}}

上例定義了乙個叫』myoverlays/anewoverlay』的層,其中有2個面板,且其中乙個巢狀在另乙個上。它使用關聯矩陣(如果未發現metrics_mode選項)。

指令碼中每一層都必須被起乙個名字,即在第乙個大括號』

template container button(mytemplates/basicbutton) : mytemplates/basicborderpanel

template element textarea(mytemplates/basictext)

myoverlays/anotheroverlay

container button(myelements/joinbutton) : mytemplates/basicbutton

}}上面的例子使用了模板定義乙個按鈕。注意,按鈕模板繼承自borderpanel模板。這樣減少了初始化乙個按鈕所需要的屬性數量。

還要注意的是,例項化乙個按鈕需要乙個模板名作為標題屬性。所以模板也可以被需要動態建立子元素的元素使用(在此例中,按鈕建立了乙個textareaelement作為它的標題)。

表層(Overlay)指令碼

表層指令碼提供給你用指令碼定義圖層以方便重複使用的能力。與此同時,你可以使用scenemanager,overlay以及overlayelement類的方法在 中為乙個場景建立所有圖層,雖然在使用中,有點兒不太好用。相反你可以以文字檔案的方式儲存層定義,而在需要的時候呼叫。表層指令碼在初始化時由系統...

OverLay 原理與實現

overlay技術 分類 大體分為軟體overlay 硬體 本文主要介紹 軟體實現overlay。至於硬體實現的方式或者說策略,目前能找到的資源有限,且自己還沒有弄清楚,所以當前情況下暫不介紹。所謂overlay 即 實現 記憶體區域的重複利用。ram在soc上,是乙個快速但單位面積較大的元件,而單...

雲計算Overlay網路

1 雲計算虛擬化網路的挑戰與革新 在雲中,虛擬計算負載的高密度增長及靈活性遷移在一定程度上對網路產生了壓力,然而當前虛擬機器的規模與可遷移性受物理網路能力約束,雲中的業務負載不能與物理網路脫離。虛擬機器遷移範圍受到網路架構限制 由 於虛擬機器遷移的網路屬性要求,其從乙個物理機上遷移到另乙個物理機上,...