【问题标题】:Finding collision between moving sprite and moving tile map寻找移动精灵和移动瓦片地图之间的碰撞
【发布时间】:2013-04-16 20:34:08
【问题描述】:

您好,我正在 cocos2d 中开发一款基于瓦片地图的游戏。在这个我需要找到移动精灵和瓦片地图层之间的碰撞。我遵循了 raywindlich 教程。我在游戏中缩放了瓷砖地图。 IE。 tilemap.scale=0.5;

请帮我找出精灵与地图层的碰撞。

【问题讨论】:

    标签: iphone cocos2d-iphone layer


    【解决方案1】:

    这是我用来获取给定图层的图块 ID 和屏幕中的点的函数。它牢记设备比例因子。

    - (int) getTileGIDMap:(CCTMXTiledMap *) map atLayer:(NSString *) layer andPosition:(CGPoint) position {
        int GID = 0;
    
        CCTMXLayer *mapLayer1 = [map layerNamed:layer];
        int mapX = position.x * CC_CONTENT_SCALE_FACTOR() / (mapLayer1.mapTileSize.width);
        int mapY = mapLayer1.layerSize.height - (position.y - map.position.y) * CC_CONTENT_SCALE_FACTOR() / mapLayer1.mapTileSize.height;
    
        if (mapX >= 0 && mapY >= 0 && mapY < map.mapSize.height) {
            GID = [mapLayer1 tileGIDAt:ccp(mapX, mapY)];
        }
    
        return GID;
    }
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      相关资源
      最近更新 更多