行!!我构建了一个游戏,它从外部源(而不是从库)中获取tileSheet(位图图像)和一些xml文件。事实证明,如果我想在大多数网站上发布我的游戏,这是一个坏主意。导致大多数网站只允许我加载单个文件。现在,我需要找个替代方案。
我尝试过做跨域的事情,但这是一个痛苦的原因我遇到了一些我不知道如何过去的安全问题。我为这个问题做了一个单独的帖子,里面有我的代码。但现在我需要知道是否有更好的希望。
有意义的是,我可以从库中加载位图图像。如果有人知道如何,请分享。但是xml的情况怎么样?在谈到那个时,我几乎搞砸了?是否无法构建一个从单个文件中读取xml文件和位图图像的游戏?
答案 0 :(得分: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 SWF,Adobe Flex 3 Help: Embedding Asset Types
修改:Using the Flex SDK with Flash CS4介绍了如何设置Flash CS4,以便您可以使用Embed
标记之类的Flex功能。我不认为CS3具有同等的功能;在这种情况下,您需要手动或使用外部IDE(例如FlashDevelop)进行编译。
答案 1 :(得分: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>
答案 2 :(得分:0)
在我提到的另一篇文章中,我提到了使用SWC 您可以将位图和图像放在导出为swc的flash文件中。你可以通过调用类来创建这些对象。
是的,你必须加载你需要在路上使用的所有图像,所以如果你有50个级别的游戏,并且大多数用户只需要前20个中使用的图像,你将需要加载所有。虽然有办法解决这个问题,但这很复杂。
这些SWC的另一个好处是你可以有20个,每个拥有不同的资产,并在你想要的时候调用它们。例如,我有一个包含所有组件的swc库。 flex编译器将仅推送最终swf中所需的内容,因此如果您在SWC中拥有未使用的资源,它们将不会不必要地膨胀您的文件。
您还会发现很多图书馆现在都以swc格式提供,例如google API。