我开发了一个 Flex/Starling 游戏,我想使用 Atlas Texture 来优化所有精灵调用。我的问题是我使用了一个清晰简单的代码,具有基本的资源并且我无法运行,我得到一个参数错误,纹理不能为空。我知道 .getTexture 方法什么也没找到,但我看不出如何解决这个问题,我的代码:
[Embed(source = "Atlas_bg/AtlasBackground.xml")]
public var AtlasXml:Class
[Embed(source = "Atlas_bg/AtlasBackground.png")]
public var AtlasPng:Class
// create atlas
var texture:Texture = Texture.fromBitmap(new AtlasPng());
var xml:XML = XML(new AtlasXml());
var atlas:TextureAtlas = new TextureAtlas(texture, xml);
// display a sub-texture
var objsTexture:Texture = atlas.getTexture("star_0");// ne trouve rien
var objsImage:Image = new Image(objsTexture);
addChildAt(objsImage, 0.6);
objsImage.x = 200;
objsImage.y = 200;
XML 内容:
<TextureAtlas imagePath="AtlasBackground.png">
<SubTexture name="star_0" x="2" y="2" width="20" height="20"/>
<SubTexture name="star_1" x="2" y="24" width="20" height="20"/>
</TextureAtlas>
谢谢。