1

在此处输入图像描述

我面临2个问题。

问题如上图所示。

主要代码片段如下: 我的设备分辨率为 1024x600。

引擎:

    this.mCamera = new Camera(0, 0,*device'width*,*device'height*);     
final EngineOptions engineOptions = new EngineOptions(true,     ScreenOrientation.LANDSCAPE_FIXED, new FillResolutionPolicy(), this.mCamera);
    engineOptions.getTouchOptions().setNeedsMultiTouch(true);

背景:

BitmapTextureAtlas bta = new BitmapTextureAtlas(mGame.getTextureManager(),WIDTH_SCENE_PNG,HEIGHT_SCENE_PNG, TextureOptions.BILINEAR);
ITextureRegion it = BitmapTextureAtlasTextureRegionFactory.createFromResource(bta, mGame, R.drawable.bg_main, 0, 0);
bta.load();
final Sprite sprite = new Sprite(0, 0,*device'width*,*device'height*,it, mGame.getVertexBufferObjectManager());
SpriteBackground bg = new SpriteBackground(sprite);
bg.setColor(Color.PINK);
setBackground(bg);

精灵:

    BitmapTextureAtlas btaTools = new BitmapTextureAtlas(mGame.getTextureManager(), 30, 40);
ITextureRegion itDelete = BitmapTextureAtlasTextureRegionFactory.createFromResource(btaTools, c, R.drawable.sprite_delete,0,0);
    btaTools.load();
4

2 回答 2

0

扭曲可能来自TextureOptions. 对于TextureAtlas您的背景精灵,您使用TextureOptions.BILINEAR. 但是TextureAtlas,您的工具不使用任何选项。我猜他们有透明区域?当您使用透明精灵时,请尝试使用TextureOptions.NEAREST_PREMULTIPLYALPHATextureOptions.BLINEAR_PREMULTIPLYALPHA. 我只用一次TextureOptions.NEAREST,它对我来说很好用(即使是透明的)。尝试一些选项,也许失真会消失。

背景的大小:因为TextureAtlas bta您已经使用了这些常量WIDTH_SCENE_PNGHEIGHT_SCENE_PNG为什么不将它们也用于精灵的大小?无论如何,我的猜测是,你的相机有不同的尺寸。对于全屏图像,请尝试:

final Sprite sprite = new Sprite(0, 0,mEngine.getCamera().getWidth(),mEngine.getCamera().getHeight(),it, mGame.getVertexBufferObjectManager());
  • 克里斯托夫
于 2012-12-11T12:48:52.343 回答
0

我解决了我的问题。

关键是我将我的资源(png图像)从项目的drawable-hdpi文件夹移动到drawable foler,然后精灵看起来不错。

原始或资产文件夹也可以。您的回答对我也有帮助。谢谢!@克里斯托夫

于 2012-12-12T09:27:34.277 回答