加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2D-Android-1之源码详解:23.TileMapTest1

发布时间:2020-12-14 18:53:01 所属栏目:百科 来源:网络整理
导读:package org.cocos2d.tests; import org.cocos2d.actions.base.CCRepeatForever; import org.cocos2d.actions.interval.CCMoveBy; import org.cocos2d.actions.interval.CCSequence; import org.cocos2d.layers.CCLayer; import org.cocos2d.layers.CCScene;

package org.cocos2d.tests;

import org.cocos2d.actions.base.CCRepeatForever;

import org.cocos2d.actions.interval.CCMoveBy;

import org.cocos2d.actions.interval.CCSequence;

import org.cocos2d.layers.CCLayer;

import org.cocos2d.layers.CCScene;

import org.cocos2d.layers.CCTMXTiledMap;

import org.cocos2d.nodes.CCDirector;

import org.cocos2d.nodes.CCNode;

import org.cocos2d.nodes.CCSprite;

import org.cocos2d.opengl.CCGLSurfaceView;

import org.cocos2d.types.CGPoint;

import android.app.Activity;

import android.os.Bundle;

public class TileMapTest1 extends Activity {

public static final String LOG_TAG = TileMapTest.class.getSimpleName();//得到类的名字,若很多则返回很多

private CCGLSurfaceView mGLSurfaceView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mGLSurfaceView = new CCGLSurfaceView(this);//实例化view

setContentView(mGLSurfaceView);//加载view

CCDirector.sharedDirector().attachInView(mGLSurfaceView);//附加开放图形语言视图

CCDirector.sharedDirector().setLandscape(false);//设置观景模式

CCDirector.sharedDirector().setDisplayFPS(true);

CCDirector.sharedDirector().setAnimationInterval(1.0f / 30);

CCScene scene = CCScene.node();//必要的构造

scene.addChild(new TMXIsoZorder());//属于next的子类

CCDirector.sharedDirector().runWithScene(scene);

}

public static final int kTagTileMap = 1;

static class TMXIsoZorder extends CCLayer {//1

CCSprite tamara;//精灵

public TMXIsoZorder() {

super();

CCTMXTiledMap map = CCTMXTiledMap.tiledMap("iso-test-zorder.tmx");//创建地图

addChild(map,kTagTileMap);//添加子类

map.setPosition(-1000,-50);//设置点

tamara = CCSprite.sprite("grossinis_sister1.png");//创建精灵

int z = (map.getChildren()!=null?map.getChildren().size():0);

map.addChild(tamara,z);//地图创建类

int mapWidth = (int) (map.getMapSize().width * map.getTileSize().width);

tamara.setPosition( mapWidth/2,0);//设置点

tamara.setAnchorPoint(0.5f,0);//设置焦点

CCMoveBy move = CCMoveBy.action(10,CGPoint.ccp(300,250));

CCMoveBy back = move.reverse();

CCSequence seq = CCSequence.actions(move,back);//移动和返回

tamara.runAction(CCRepeatForever.action(seq));//执行

schedule("repositionSprite");

}

public void repositionSprite(float dt) {

CGPoint p = tamara.getPosition();//得到点

CCNode map = getChildByTag(kTagTileMap);//得到地图

int newZ = (int) (4 - (p.y / 48));//计算

newZ = (newZ > 0 ? newZ : 0);//大于0就返回新顺序


map.reorderChild(tamara,newZ);//调整顺序

}

}

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读