2
嗨,我正在開發一個基於瓷磚地圖的遊戲在cocos2d。在這個我需要找到移動精靈和瓷磚地圖層之間的碰撞。我遵循了raywindlich教程。我在比賽中縮放了瓦片地圖。即。 tilemap.scale=0.5;
尋找移動精靈和移動瓷磚地圖之間的衝突
請幫助我找到與地圖圖層的sprites碰撞。
嗨,我正在開發一個基於瓷磚地圖的遊戲在cocos2d。在這個我需要找到移動精靈和瓷磚地圖層之間的碰撞。我遵循了raywindlich教程。我在比賽中縮放了瓦片地圖。即。 tilemap.scale=0.5;
尋找移動精靈和移動瓷磚地圖之間的衝突
請幫助我找到與地圖圖層的sprites碰撞。
這是我用來獲取給定圖層和屏幕上的點的瓷磚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;
}
希望它可以幫助