我的游戏有问题。我有一张 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是您希望它遵循的任何内容。 希望这有帮助。