在AndEngine中加载SVG
是否有人熟悉AndEngine并加载svg?
现在我正在尝试为场景加载背景,但由于某种原因它根本不会出现..
这是我用来加载SVG并将其附加到场景的代码。
//In my onLoadResources method this.mBuildableTexture = new BuildableBitmapTexture(1024, 1024, TextureOptions.BILINEAR_PREMULTIPLYALPHA); SVGTextureRegionFactory.setAssetBasePath("gfx/"); this.mSVGTestTextureRegions = SVGTextureRegionFactory.createFromAsset(this.mBuildableTexture, this, "background.svg", 16, 16); //OnLoadScene method final BaseTextureRegion baseTextureRegion = this.mSVGTestTextureRegions; if(baseTextureRegion instanceof TextureRegion) { final TextureRegion Region = (TextureRegion)baseTextureRegion; final float centerX = this.mCamera.getWidth() / 2; final float centerY = this.mCamera.getHeight() / 2; final float x = centerX - SIZE * 0.5f; final float y = centerY - SIZE * 0.5f; Sprite backgroundSprite = new Sprite(x,y,SIZE,SIZE,Region); /*protected void onInitDraw(final GL10 pGL) { super.onInitDraw(pGL); GLHelper.enableTextures(pGL); GLHelper.enableTexCoordArray(pGL); GLHelper.enableDither(pGL); } };*/ mScene.setBackground(new SpriteBackground(0.0f,0.0f,0.0f,backgroundSprite)); backgroundSprite.setIgnoreUpdate(true); }
您是否在loadResources的代码中包含以下语句:
try { this.mBuildableTexture.build(new BlackPawnTextureBuilder(1)); } catch (final TextureAtlasSourcePackingException e) { Debug.e(e); } this.mEngine.getTextureManager().loadTexture(this.mBuildableTexture);
Imo BlackPawnTextureAtlasBuilder类的命名非常直观,如:
- 它是一个实现ITextureAtlasBuilder的接口
-
javadoc类说:
- @author Jim Scott(BlackPawn)
- @since 16:03:01 – 12.08.2010
- @see http://www.blackpawn.com/texts/lightmaps/default.html
🙂