2010-01-02 70 views
0

嗨,任何人都可以提供一些幫助嗎?我的閃光燈舞臺上有兩個圖像(一個攝像機圖像和一個風景圖像)這個想法是攝像機位於風景的前方。問題是雖然兩個圖像都在我的舞臺上,但相機完全透明並且看起來不對。如何設置加農炮圖像透明度,使其成爲背景圖像上的實心圖像。預先感謝任何提示!米克Flash中的透明jpeg圖像AS3

// add images 

var cannon = new mc_cannon ; 
var backGround = new mc_scene ;   


backGround.x = 200 ; 
backGround.y = 200 ; 
addChild (backGround) ; 

setChildIndex(cannon,numChildren - 1); 
cannon.alpha = 1 ; 
cannon.x = 200 ; 
cannon.y = 200 ; 
addChild (cannon) ; 

回答

1

只是看看你的代碼,我猜想,你的代碼將導致運行時錯誤,因爲你試圖使用setChildIndex()方法,有一個顯示對象尚未加入舞臺(大炮)。我不記得曾經不小心做到這一點,所以我不確定是否真的拋出了錯誤,但這樣做會與其他與顯示列表相關的程序員錯誤一致。

因爲您先添加背景,然後添加大炮,您根本不必使用setChildIndex()。大炮將被添加在背景的頂部。此外,你會提到透明的JPEG圖像,但它幾乎從來沒有使用(雖然它確實存在於JPEG規範中)。您應該將PNG圖像用於具有透明度的位圖。然後,在Flash CS4中,將導入圖像的壓縮設置爲「照片(JPEG)」,並且它將由Flash編碼爲JPEG,但保持透明度不變。

如果刪除setChildIndex()沒有幫助,而且確實能夠將Alpha通道導入到圖像中,我很難想象會出現什麼問題。你能否提供一個「完全透明」和「看上去全部錯誤」的相機截圖?

乾杯

+0

感謝您的回覆,沒有與此代碼報告的錯誤。下面是圖片 http://img24.imageshack.us/img24/4480/camerakr.jpg 一個鏈接,我不希望任何透明度相機在背景帶的只是一個堅實的圖像。 無論如何感謝您的幫助! – Mick 2010-01-02 13:03:49

+0

您確定您使用的圖片資源(PNG/JPEG)不透明嗎?你是否還檢查過mc_cannon符號的內容在Flash CS4中不透明? – richardolsson 2010-01-02 14:06:18

+0

順便說一句,我對你的斷言感到困惑,因爲你的代碼沒有報告錯誤,所以我創建了自己的測試用例。運行代碼,這相當於你的,我得到「引發ArgumentError:錯誤#2025:提供的DisplayObject必須是調用的一個孩子。」因爲setChildIndex()調用。你確定你沒有在輸出窗口中得到這個錯誤跟蹤嗎?乾杯 – richardolsson 2010-01-02 14:08:23