我是cocos2d的新手,现在有一天我陷入了平铺地图学习中。我想检测精灵和滚动平铺地图层的平铺之间的碰撞。在平铺地图层中,我还在平铺属性中设置了特定的平铺值1。问题就是这样,当瓷砖与精灵碰撞并且我的精灵处于固定位置时,我如何检测瓷砖的碰撞或坐标?
-(void)Collision:(ccTime)delta{
CGPoint playerPosition=player.position;
CGPoint tileCoordPos = [self tileCoordForPosition:playerPosition];
bool isTouchOnWater = NO;
int tileGID = [FloorLayer tileGIDAt:tileCoordPos];
if (tileGID != 0)
{
NSDictionary* properties = [tileMap propertiesForGID:tileGID];
if (properties)
{
CCLOG(@"NSDictionary 'properties' contains:\n%@", properties);
NSString* isWaterProperty = [properties valueForKey:@"isWater"];
isTouchOnWater = ([isWaterProperty boolValue] == YES);
}
}
if (isTouchOnWater)
{
[[SimpleAudioEngine sharedEngine] playEffect:@"alien-sfx.caf"];
[FloorLayer removeTileAt:tileCoordPos];
}
}
这是我正在使用的代码。在此代码中,瓷砖的坐标保持不变。