載入,建立與顯示bitmaps

2021-05-21 21:53:33 字數 1635 閱讀 9788

嵌入與顯示資源

從頭開始建立bitmaps

在bitmaps中畫現有的圖形

我們看看建構函式的每個引數:

指定源

建構函式中的第乙個引數,source,就是你要拷貝畫素資料的物件。可以使任何現是物件例項(sprite,movieclip,textfield,等等)或者是別的bitmapdata例項,只要他們實現了ibitmapdata介面。

當你呼叫draw()方法,源物件的畫素資料就被畫進bitmapdata例項了,接著就斷開了與源物件的聯絡。這意味著,無論你怎麼搞願物件,bitmapdata的畫素資料都不會改變。如果你呼叫這個方法而不指定其他引數(你可以看到,它們都是可選的)。源物件的畫素資料只是被拷貝而沒有任何顏色轉換操作。我們可以通過乙個例子來理解。

接下來的類可以在章節原始檔中找到,檔名是drawtest。這個類只是簡單的測試一下draw()方法。重要部分用用粗體凸顯。(記住,附錄中有介紹如何建立專案和編譯swf檔案,如果不了解怎麼建立swf檔案就去檢視附錄吧。這是最後一次提醒了。)

如果你編譯並且測試這個影片,或者執行此章的檔案中的swf檔案。你將看到乙個圓,跟隨著滑鼠。該功能是從建構函式中呼叫createcirecle()方法。createbitmap(),也是在建構函式中呼叫的,這個方法建立乙個bitmapdata例項,一開始並沒有被畫入任何物件。芳兒,在構造bitmapdata的時候,我設定了其畫素資料的尺寸和舞台一樣大小,畫素能夠透明,任何未定義的畫素將完全透明(黑色,雖然在這個例子中這並不重要)。結果是,這個點陣圖在最初的時候和舞台的大小相同,而且完全透明。如果你按任何鍵,onstagekeydown() 方法就被啟用了,如果被按下的鍵是空格,bitmapdata例項上的draw()方法就被呼叫了。我只給舞台傳遞乙個副本,它本身就是乙個顯示物件,被畫進bitmap 資料中,接著就立即顯示在舞台上了。隨著不斷單擊空格鍵,就是有很多圓出現在舞台上,就像3-5一樣。我們將整個舞台的畫素都拷貝進了bitmap data。

總結draw()方法的引數

draw()方法有乙個額外的引數,能夠改變源物件的畫素,就是合成演算法。它允許你指定,將拷貝的畫素疊加到目前的bitmap data上的方式。例如,如果你將blendmode作為draw()的第四個引數。源物件的畫素就會疊加到bitmap data的畫素上,這個內容我們在前乙個章節提到過。乙個可能的用途就是建立筆刷,和photoshop中的一樣。這些刷子有混合選項就像層的混合模式一樣,像multiply,這可以應用到你的填充中去。這種功能在actionscript中呼叫draw()的時候經常使用,例如複製乙個影象筆刷和指定乙個特定的混合模式。

cliprect是draw()的第五個可選引數,這個允許你指定源物件的複製區域。如果這裡沒有指定,就是整體複製。但是如果你想獲得更多的控制,你可以制定乙個矩形區域作為cliprect引數傳遞進去。

draw()的最後乙個引數是smoothing,這裡指定畫素源在縮放,旋轉或者複製過程中是否平滑,以減少可能出現的鋸齒。這可能會使計算變慢,但有時卻是必不可少的。

拷貝現有的bitmap資料

結合繪圖api一起使用bitmaps

清理

Assetbundle建立與載入

assetbundle建立與載入 unity有兩種動態載入機制 一種是resource.load。一種是assetbundle。assetbundle是unity pro提供的功能,它可以把多個遊戲物件或者資源二進位制檔案封裝到assetbundle中。供載入 解壓使用。建立assetbundle ...

Assetbundle建立與載入

assetbundle建立與載入 unity有兩種動態載入機制 一種是resource.load。一種是assetbundle。assetbundle是unity pro提供的功能,它可以把多個遊戲物件或者資源二進位制檔案封裝到assetbundle中。供載入 解壓使用。建立assetbundle ...

Xib檔案的建立與顯示

1.xib檔案的檢視建立 a 載入xib的檔案 三步走 說明 第一步載入資源檔案 nsbundle是應用程式的資源包 nsbundle mainbundel nsbundle mainbundle b 從xib檔案中讀取檢視 view 儲存方式是陣列的方式 說明 1 載入的時候只載入檔名,不要帶字尾...