正文

使用圖像(13)

新手學(xué)Java FX 作者:(美)J.F.蒂馬爾齊奧


6.4  在JavaFX中使用FXZ文件

在JavaFX腳本中使用FXZ文件是非常有用的技能。訪問FXZ文件并不需要很多腳本代碼,實(shí)際上,JavaFX提供了專門處理FXZ文件的節(jié)點(diǎn),F(xiàn)XDNode節(jié)點(diǎn)就是用來在FXZ文件中加載圖像的。

FXDNode節(jié)點(diǎn)位于javafx.fxd.FXDNode程序包中,處理FXZ文件時必須引入該程序包。

import javafx.fxd.FXDNode;

說明:

下面例子中假定butterfly.fxz文件已經(jīng)導(dǎo)入到當(dāng)前程序包的Image文件夾中。

首先創(chuàng)建FXDNode節(jié)點(diǎn)并加載butterfly.fxz文件。創(chuàng)建一個變量名為butterflyGroup,并將其指定為FXDNode類型,代碼如下:

var butterflyGroup : FXDNode = FXDNode{

url:"{__DIR__}images/butterfly.fxz"

};

現(xiàn)在可通過調(diào)用butterflyGroup來訪問FXDNode節(jié)點(diǎn),url參數(shù)指向images文件夾的butterfly.fxz文件。注意butterflyGroup 變量使用:FXDNode符號指定為 FXDNode類型。這不是必須要做的,因?yàn)镴avaFX不是強(qiáng)類型語言,但這樣做仍是非常好的選擇。

接下來,提取蝴蝶圖像并移動到不同位置的背景下。下面的代碼提取butterfly圖層、移動并旋轉(zhuǎn)它。

var butterfly = butterflyGroup.getNode("butterfly");

butterfly.translateX = 50;

butterfly.translateY = 50;

butterfly.rotate = 45;

FXDNode節(jié)點(diǎn)的getNode方法是用來從加載的FXZ文件中提取圖層,該方法獲得的圖層名就是Photoshop導(dǎo)出圖像前的圖層名。本例中要提取butterfly圖層,因此圖層名 butterfly也傳遞給getNode方法。


上一章目錄下一章

Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號