zoukankan      html  css  js  c++  java
  • cocos2dx tiledmap 碰撞检测

    bool HelloWorld::init()
    {
        //////////////////////////////
        // 1. super init first
        if ( !CCLayer::init() )
        {
            return false;
        }
        
        CCSize winSize = CCDirector::sharedDirector()->getVisibleSize();
        CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
    
        map=CCTMXTiledMap::create("1.tmx");
        addChild(map);
    
        CCTMXObjectGroup* objgroup=map->objectGroupNamed("objLayer");
        CCDictionary* dic=objgroup->objectNamed("hero");
        float x=dic->valueForKey("x")->floatValue();
        float y=dic->valueForKey("y")->floatValue();
        float id=dic->valueForKey("id")->floatValue();
        const char* idstr=dic->valueForKey("id")->getCString();
        CCLOG("%f %f %f",x,y,id);
        CCLOG(idstr);
    
        hero=CCSprite::create("hero.png");
        hero->setPosition(ccp(x,y));
        addChild(hero);
        
        CCMoveBy *move=CCMoveBy::create(2,ccp(winSize.width/2,-winSize.height/2));
        hero->runAction(move);
        schedule(schedule_selector(HelloWorld::judeCollion));
        return true;
    }
    
    void HelloWorld::judeCollion(float dt)
    {
        if(hero!=NULL)
        {
            CCTMXLayer* collionLayer=map->layerNamed("collionLayer");
            CCPoint tilePos=positionToTid(hero->getPosition());
            if(collionLayer->tileGIDAt(tilePos))
            {
                CCLOG("collion");
                collionLayer->removeTileAt(tilePos);
            }
        }
        
    }
    CCPoint HelloWorld::positionToTid(CCPoint position)
    {
        int x = position.x /map->getTileSize().width;
        int y = (map->getMapSize().height*map->getTileSize().height 
            - position.y) /map->getTileSize().height;
        return ccp(x, y);
    }
  • 相关阅读:
    JavaScript----特效代码
    坑!vue.js在ios9中失效
    MySQL的ibdata1文件占用过大
    Ubuntu搭建Gitlab服务器
    Logstash+Kibana部署配置
    Kafka+Zookeeper集群搭建
    ES5.0集群搭建
    Kibana使用高德地图
    Zabbix安装客户端agent(windows和Centos7)
    Centos/Rhel7部署Zabbix监控(部署篇之服务器篇)
  • 原文地址:https://www.cnblogs.com/yufenghou/p/4009524.html
Copyright © 2011-2022 走看看