Cocos2d iphone cocos2d子精灵与父精灵碰撞检测
嗨,我的社区 如何在cocos2d中检测子精灵与父精灵的碰撞 目前我的代码如下:Cocos2d iphone cocos2d子精灵与父精灵碰撞检测,cocos2d-iphone,parent,collision-detection,sprite,Cocos2d Iphone,Parent,Collision Detection,Sprite,嗨,我的社区 如何在cocos2d中检测子精灵与父精灵的碰撞 目前我的代码如下: CGSize screenSize = [[CCDirector sharedDirector]winSize]; parentJumper = [CCSprite spriteWithFile:@"inviBtn.png"]; jumper = [CCSprite spriteWithFile:@"jumperRight.png"]; plat = [[Platform all
CGSize screenSize = [[CCDirector sharedDirector]winSize];
parentJumper = [CCSprite spriteWithFile:@"inviBtn.png"];
jumper = [CCSprite spriteWithFile:@"jumperRight.png"];
plat = [[Platform alloc]init];
plat = [Platform spriteWithFile:@"platformBlack.png"];
plat.position = ccp(160,100);
[[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0/60)];
jumper.anchorPoint = ccp(0.5, 0);
jumper.position = ccp(0, 20);
parentJumper.position = ccp(screenSize.width/2, 0);
[self addChild:plat];
[self addChild:parentJumper];
[parentJumper addChild:jumper];
if(CGRectIntersectsRect([jumper boundingBox], [plat boundingBox])) {
//Handle collision<br>
}
现在,我如何检测“跳线”和“平台”之间的碰撞
谢谢你的帮助 通常可以这样检查碰撞:
CGSize screenSize = [[CCDirector sharedDirector]winSize];
parentJumper = [CCSprite spriteWithFile:@"inviBtn.png"];
jumper = [CCSprite spriteWithFile:@"jumperRight.png"];
plat = [[Platform alloc]init];
plat = [Platform spriteWithFile:@"platformBlack.png"];
plat.position = ccp(160,100);
[[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0/60)];
jumper.anchorPoint = ccp(0.5, 0);
jumper.position = ccp(0, 20);
parentJumper.position = ccp(screenSize.width/2, 0);
[self addChild:plat];
[self addChild:parentJumper];
[parentJumper addChild:jumper];
if(CGRectIntersectsRect([jumper boundingBox], [plat boundingBox])) {
//Handle collision<br>
}
if(CGRectIntersectsRect([jumper boundingBox],[plat boundingBox])){
//处理冲突
}
首先,为什么要在平台上初始化两次?你会发现内存泄漏。第二种方法是将已比较精灵的矩形坐标转换为世界坐标,然后进行比较