您当前的位置: 首页 > 

Chipmunk僵尸物理对象的出现和解决(四)

发布时间:2015-11-09 13:13:25 ,浏览量:0

接上一篇,我们看看五角星和反弹棒碰撞时的代码:

-(BOOL)ccPhysicsCollisionBegin:(CCPhysicsCollisionPair *)pair star:(CCNode *)star
                         stick:(CCNode *)stick{

    Star *starTmp = (Star*)star; //star形状是五角星,可能会在短时间内多次发生碰撞;但在star已经由第一次碰撞时删除掉从而导致star为nil //所以这里要确保star不为nil. if (!starTmp) { return YES;
    } switch (starTmp.starType) { case starTypeStickLonger:
            @synchronized(self){
                [Star doStickLongerWork:self.stickInGameScene];
            } break; case starTypeStickShorter:
            @synchronized(self){
                    [Star doStickShorterWork:self.stickInGameScene];
            } break; case starTypeUnknown: case starTypeMax:
            NSAssert(NO, @"error star type!"); break; default: break;
    } //省略无关代码 }

根据star的类型,我们执行不同效果.

其实问题就出现在这段代码中,只是当时我还看不出来.

如果你也看不出来,那我们接着往下看吧 ;)

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    108697博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0468s