2013-01-23 2 views
3

내 게임에 문제가 있습니다. 1280x1280 픽셀의지도가 있습니다. 그것은 40x40 타일로 구성되어 있으므로 1 타일은 32x32 픽셀입니다. 이 맵을 내 장치의 실제 화면 크기로 확장 할 수 없다는 것입니다. 그것을 할 방법이 있습니까? 이것은 내가 TMX 파일을로드하는 방법입니다AndEngine이 여러 장치에 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; 
     } 

이 같은지도 loocks 방법입니다 http://postimage.org/image/403w3dfnx/

이 조치는 적색 지역에서 무슨 일이 생긴 것입니다. 지도를 편집해야합니까?

미리 감사드립니다.

+0

스케일을 조정하지 않으려면 뷰포트를 조정하기 위해 카메라 객체를 수정해야합니다. – Tobrun

+0

그리고 mCamera.setCenter()를 사용하여 그렇게해야합니까? 아니면 다른 기능과 함께? – user2004702

+0

카메라를 초기화 할 때 (예 : 새 카메라 (px, py, 너비, 높이)} 카메라의 너비와 높이를 정의합니다. px와 py는 오프셋입니다. 1280 1280 값을 사용하면 전체지도가 표시되고, 작은 값을 사용하면지도의 일부가 표시되고 해당 값으로 주변을 둘러보고 필요한 뷰포트를 얻습니다. – Tobrun

답변

1

지도를 생성하는 방법과 관련된 문제는 카메라와 관련이 있습니다. AndEngine의 다양한 카메라 클래스 중 하나를 사용하여 카메라를 만듭니다. (나는 SmoothCamera의 팬입니다.)이 같이 :

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

CAMERA_WIDTH 및 CAMERA_HEIGHT 사용자가 정의 할의 int입니다. 이 값을 더 작은 값으로 설정하면 더 확대됩니다. 카메라의 줌을 직접 조정할 수도 있습니다. 이와 같이 :

camera.setZoomFactor(5.0f); 

그러면 플레이어 엔티티를 추적하도록 카메라를 설정하려고 할 것입니다. 이런 식으로 뭔가 : pChaseEntity 당신이 그것을 따르세요 뭐든

camera.setChaseEntity(pChaseEntity) 

. 희망이 도움이됩니다.