gpt4 book ai didi

iphone - 滚动瓦片 map 时如何检测瓦片和 Sprite 之间的碰撞?

转载 作者:行者123 更新时间:2023-11-28 22:53:55 24 4
gpt4 key购买 nike

我是 cocos2d 的新手,现在有几天我一直在学习分块 map 。我想检测 Sprite 和滚动分块 map 层的分块之间的碰撞。在分块 map 层中,我还在分块中设置了特定分块值 1 properties.problem 是,当它与 sprite 碰撞并且我的 sprite 处于固定位置时,我如何检测碰撞或瓦片的坐标?

-(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];
}

这是我正在使用的代码。在此代码中,图 block 的坐标保持不变。

最佳答案

我通过滚动整个 map 来解决这个问题,并制作了两张 map ,一张用于地面层,一张用于物体,然后检测碰撞……这对我来说非常完美

关于iphone - 滚动瓦片 map 时如何检测瓦片和 Sprite 之间的碰撞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11206739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com