android-AndEngine背景显示为三角形

android-AndEngine背景显示为三角形,第1张

概述我是AndEngine的新手,我正尝试在thistutorial之后实现河内游戏.将背景图片插入gfx文件夹,并设置所有onCreateResources代码和onCreateScene代码之后,我尝试运行该应用程序,我所看到的只是一个代表我的背景图片的三角形,如您在thisimage中看到的.这是我的代码:finalintCA

我是AndEngine的新手,我正尝试在this tutorial之后实现河内游戏.
将背景图片插入gfx文件夹,并设置所有onCreateResources代码和onCreateScene代码之后,我尝试运行该应用程序,我所看到的只是一个代表我的背景图片的三角形,如您在this image中看到的.

这是我的代码:

    final int CAMERA_WIDTH = 480;    final int CAMERA_HEIGHT = 800;    public EngineOptions onCreateEngineOptions() {        myCamera = new Camera(800, 480, CAMERA_WIDTH, CAMERA_HEIGHT);        return new EngineOptions(false, ScreenorIEntation.PORTRAIT_SENSOR,                new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT),                myCamera);    }    public ITextureRegion texture;    public voID onCreateResources(            OnCreateResourcesCallback pOnCreateResourcesCallback)        throws Exception {            try {                // 1 - Set up bitmap textures                ITexture backgroundTexture = new BitmapTexture(                        this.getTextureManager(), new IinputStreamOpener() {                            public inputStream open() throws IOException {                                return getAssets().open("gfx/background.png");                            }                        });     // 2 - Load bitmap textures into VRAM                backgroundTexture.load();    // 3 - Set up texture regions                this.mBackgroundTextureRegion = TextureRegionFactory                        .extractFromTexture(backgroundTexture);         }public voID onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback)            throws Exception {        // 1 - Create new scene        final Scene scene = new Scene();        Sprite backgroundSprite = new Sprite(0, 0, this.mBackgroundTextureRegion, getVertexBufferObjectManager());        scene.attachChild(backgroundSprite);    }

由于我尝试自己解决此错误,因此我已经尝试过:

>设置相机FillResolutionPolicy(),对结果没有影响.
>将背景创建为BitmapTextureAtlas,BitmapTextureAtlasTextureRegionFactory.createFromAsset
>调用mEngine.getScene().setBackground而不是attachChild
>使用其他API级别重新创建AndroID虚拟设备(尝试16、15)

另外,AndEngine论坛上有一个主题为this one的主题,我没有找到答案.

解决方法:

您的代码中有一些错误

1)在myCamera =新的Camera(800,480,CAMERA_WIDTH,CAMERA_HEIGHT);
第一个和第二个参数用于位置x和y.所以你应该喜欢

myCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);

2)在CameraOptions中使用

new EngineOptions(true, ScreenorIEntation.LANDSCAPE_FIXED,
new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), myCamera);

3)要加载BitmapTexture,应使用BitmapTextureAtlasTextureRegionFactory

例如.

BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");BitmapTextureAtlas bitmapTextureAtlas = new BitmapTextureAtlas(        getTextureManager(), wIDth_of_image, height_of_image,        TextureOptions.BIliNEAR //Or any TextureOpion you want.);ITextureRegion texture = BitmapTextureAtlasTextureRegionFactory    .createFromAsset( bitmapTextureAtlas, this, "file_name.png", x_position, y_position);bitmapTextureAtlas.load();
总结

以上是内存溢出为你收集整理的android-AndEngine背景显示为三角形全部内容,希望文章能够帮你解决android-AndEngine背景显示为三角形所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1085697.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存