我的游戏有问题。我有一张地图1280x1280px。它由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/
这些动作只会发生在红色区域。 我需要在地图上编辑吗?
提前谢谢!
答案 0 :(得分:1)
问题不在于您如何使用相机生成地图。使用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是您希望遵循的任何内容。希望这会有所帮助。