zoukankan      html  css  js  c++  java
  • Andengine 瓦片地图1

     

    使用Tiled编辑器   制作出地图 然后导出对应的tmx 和tsx 文件 。

    然后导入到对应android项目的assets文件夹下,

    修改这2个文件的source属性(就是这2个文件现在的路径) 可以直接文本的形式打开修改。

    不同版本的andengine 可能有些细微不同  大家可以看下具体源码 修改下

    TMXLoader类:

           用来将TMX,TSX文件加载到TMXTiledMap对象中去。


           TMXLoader(Context pContext, TextureManager pTextureManager, TextureOptions pTextureOptions,

           VertexBufferObjectManager pVertexBufferObjectManage , ITMXTilePropertiesListener pTMXTilePropertyListener)



    TMXTiledMap类:
        
       用于表示整个瓦片地图的文件的类。它包括了所有的图层,瓦片及其相关属性。
           使用TMXLoader.loadFromAsset(Context pContext, String pAssetPath)方法来获得

    TMXLayer类:
            瓦片地图由图层组成,每个图层上都有自己的瓦片。
           TMXTiledMap.getTMXLayers().get(int X);用来获得图层,X为图层的引索值。

    TMXTile类:
         瓦片
         可以用
         getTMXTile(int pTilteColumn, int pTileRow)
         getTMXTileAT(float pX,float pY)来获得瓦片。
         当瓦片的贴图需要改变时,可以
         setGlobalTileID(TMXTileMap pTMXTileMap , int pGlobalTileID)
         pGlobalTileID是Tiled编辑器赋予瓦片图片的全局ID

    代码

    package com.testsprite;
    
    import org.andengine.engine.camera.Camera;
    import org.andengine.engine.options.EngineOptions;
    import org.andengine.engine.options.ScreenOrientation;
    import org.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
    import org.andengine.entity.scene.Scene;
    import org.andengine.extension.tmx.TMXLayer;
    import org.andengine.extension.tmx.TMXLoader;
    import org.andengine.extension.tmx.TMXLoader.ITMXTilePropertiesListener;
    import org.andengine.extension.tmx.TMXProperties;
    import org.andengine.extension.tmx.TMXTile;
    import org.andengine.extension.tmx.TMXTileProperty;
    import org.andengine.extension.tmx.TMXTiledMap;
    import org.andengine.extension.tmx.util.exception.TMXLoadException;
    import org.andengine.opengl.texture.TextureOptions;
    import org.andengine.ui.activity.SimpleBaseGameActivity;
    
    public class TMXTiledMapExample extends SimpleBaseGameActivity {
        // ===========================================================
        // Constants
        // ===========================================================
    
        private static final int CAMERA_WIDTH = 1280;
        private static final int CAMERA_HEIGHT = 768;
        
        private  Camera mCamera;
        private TMXTiledMap mTMXMap;
        private TMXLayer mTMXLayer1;
        @Override
        public EngineOptions onCreateEngineOptions() {
            
            mCamera=new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
            
            EngineOptions mEngineOptions = new EngineOptions(true,
                    ScreenOrientation.LANDSCAPE_FIXED, new RatioResolutionPolicy(
                            CAMERA_WIDTH, CAMERA_HEIGHT), mCamera);
            return mEngineOptions;
            
        }
        @Override
        protected void onCreateResources() {
            
        }
        @Override
        protected Scene onCreateScene() {
        Scene scene=new Scene();
        try {
            
            final TMXLoader tmxLoader = new TMXLoader(this.getAssets(),
                    this.mEngine.getTextureManager(),
                    TextureOptions.BILINEAR_PREMULTIPLYALPHA,
                    this.getVertexBufferObjectManager(),
                    new ITMXTilePropertiesListener() {
    
                        @Override
                        public void onTMXTileWithPropertiesCreated(
                                final TMXTiledMap pTMXTiledMap,
                                final TMXLayer pTMXLayer,
                                final TMXTile pTMXTile,
                                final TMXProperties<TMXTileProperty> pTMXTileProperties) {
    
                        }
                    });
            
            this.mTMXMap=tmxLoader.loadFromAsset("map/sprite.tmx");
        } catch (final TMXLoadException tmxle) {
               
        }
        mTMXLayer1=this.mTMXMap.getTMXLayers().get(0);
        scene.attachChild(mTMXLayer1);
            return scene;
        }
    
    }

     代码下载链接 http://mail.sina.com.cn/netdisk/download.php?id=613fdf6ff09d6966e87d3d5d2b970e18d9

    参考至 http://www.apkbus.com/forum.php?mod=viewthread&tid=140144 

  • 相关阅读:
    HTML静态网页--JavaScript-简介
    html 表单 css样式表
    html 表格 嵌套 frameset 热点
    触发器
    存储过程 if 复习 while 学习
    变量运算符
    SQL数学函数
    SQL数据库基础
    批處理文章引用
    对Excel操作(VBA)
  • 原文地址:https://www.cnblogs.com/wzachenjian/p/3556522.html
Copyright © 2011-2022 走看看