2010-02-07 77 views
0

OK !!我構建了一個遊戲,它從外部源(不是來自庫)抓取tileSheet(位圖圖像​​)和一些xml文件。原來,如果我想在大多數網站上發佈我的遊戲,這是一個壞主意。導致大多數網站只能讓我加載一個文件。現在,我需要找出一個替代方案。從flash庫中加載位圖

我試過做跨域的事情,但這是一個痛苦,因爲我遇到了一些安全問題,我不知道該如何解決。我爲這個問題做了一個單獨的帖子,用我的代碼。但現在我需要知道是否有更好的希望。

它是有道理的,也許我可以從庫中加載一個位圖圖像。如果有人知道如何,請分享。但是,什麼有關XML的情況?當我談到那個時,我幾乎搞砸了?是不可能建立一個遊戲,從一個單一的文件讀取XML文件和位圖圖像?

回答

1

你是說在你的.swf文件中嵌入一個圖像和一些XML?我相信這需要mxmlc。

影像(AS3):

[Embed(source='image.png')] 
private var myImage:Class; 
private var ball1:Bitmap = new myImage(); 

對於某些XML(AS3):

private var myXML:XML = <rootNode><anotherNode someProp="foo"/></rootNode> 
+0

是的,這是我需要的!但我只有閃光燈?!?!?!我不能用閃光燈做這個? – numerical25 2010-02-07 03:40:38

+0

我有一種感覺,我可能將不得不重做這一切在Flash開發 – numerical25 2010-02-07 03:44:46

+0

在Flash CS4中,XML位是好的。這只是ActionScript。 對於圖像,您可以將圖像添加到您的圖庫中,併爲其指定一個鏈接名稱。然後你可以使用:var myImage:Bitmap = new LinkageName(); – Newtang 2010-02-07 22:27:43

1

您想要將圖像和XML文件嵌入到SWF中。

[Embed(source="../assets/mytiles.bmp")] 
var MyTiles:Class; 

// When you need the Bitmap: 
var myTiles:Bitmap = new MyTiles(); 

您需要使用Flex SDK附帶的mxmlc。

更多信息:Embed Almost Anything in Your SWFAdobe Flex 3 Help: Embedding Asset Types

編輯:Using the Flex SDK with Flash CS4介紹如何設置Flash CS4,所以你可以使用Flex的功能,如Embed標籤。我不認爲CS3具有相同的功能;在這種情況下,您需要手動編譯或使用外部IDE(如FlashDevelop)進行編譯。

+0

我只有閃光。我不能用閃光燈做這個嗎? – numerical25 2010-02-07 03:41:17

+0

我已經更新了我的答案,使用嵌入Flash的方式。 – Selene 2010-02-23 00:45:08

0

在你的其他文章中,我提到使用的SWC 你可以把你的位圖和圖像您以swc格式導出的Flash文件。你可以通過調用這個類來創建這些對象。

是的,你將不得不加載你需要在路上使用的所有圖像,所以如果你有一個50級的遊戲,並且大多數用戶只需要在前20個使用的圖像,你將需要加載所有。儘管有一種解決方法,但它非常複雜。

這些SWCs的另一個好處是,你可以有20個,每個持有不同的資產,並在你想要的時候打電話給他們。例如,我有一個包含所有組件的swc庫。 flex編譯器只會在最終的swf中推送你需要的內容,所以如果你在你沒有使用的SWC中有資源,它們不會不必要地膨脹你的文件。

您還會發現很多庫現在都可以以swc格式獲得,例如google API。