2010-02-07 43 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。