和引擎负载 TMX 映射在多个设备上



我的游戏有问题。我有一张 1280x1280 像素的地图。它由 40x40 磁贴组成,因此 1 个磁贴是 32x32 像素。问题是我无法将此地图缩放到设备的实际屏幕尺寸。有什么办法可以做到这一点吗?

这是我加载 tmx 文件的方式:

public Scene onLoadScene() {
                // TODO Auto-generated method stub
                this.mMainScene = new Scene(1);
                try
                {
                        final TMXLoader tmxLoader = new TMXLoader(this, this.mEngine.getTextureManager(),
                                                                                                                TextureOptions.BILINEAR_PREMULTIPLYALPHA);
                        this.mTMXTiledMap = tmxLoader.loadFromAsset(this,"gfx/untitled.tmx");
                        //"gfx/0_fire_drill-lvl_01.tmx"
                }
                catch(final TMXLoadException tmxle)
                {              
                        Debug.e(tmxle);
                }
                for(TMXLayer tmxLayer : this.mTMXTiledMap.getTMXLayers())
                {
                        this.mMainScene.getChild(0).attachChild(tmxLayer);
                }              
                return this.mMainScene;
        }

地图是这样的:http://postimage.org/image/403w3dfnx/

操作将仅在红色区域中发生。我需要编辑地图吗?

提前谢谢你!

问题不在于如何生成地图,而在于您的相机。 使用 AndEngine 的各种相机类之一创建相机。 (我是SmoothCamera的粉丝。 喜欢这个:

SmoothCamera camera = new SmoothCamera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT, 10, 10, 1.0f);

CAMERA_WIDTH和CAMERA_HEIGHT是供您定义的整数。 如果将这些值设置为较小的值,则会放大得更多。 您也可以直接调整相机上的变焦。 喜欢这个:

camera.setZoomFactor(5.0f);

而且您可能希望设置摄像机来追逐您的玩家实体。 像这样:

camera.setChaseEntity(pChaseEntity)

pChaseEntity是您希望它遵循的任何内容。 希望这有帮助。

相关内容

  • 没有找到相关文章

最新更新