您当前的位置: 首页 > 

如何在代码中取得一个特点type的关节

发布时间:2015-10-01 22:43:26 ,浏览量:0

我们可以在初始化方法中添加如下代码:

-(void)didLoadFromCCB{
    Class distanceJointClass = NSClassFromString(@"CCPhysicsSlideJoint");
    NSAssert(distanceJointClass, @"Class CCPhysicSlideJoint don't exist!");
    for (CCPhysicsJoint *joint in self.physicsBody.joints) {
        if ([joint isKindOfClass:distanceJointClass]) {
            _lockJoint = joint;
            break;
        }
    }
}

意思很清楚,从自身的joints集合中查找指定类型的关节(这里是查找距离关节)。

但是这段代码有点问题!

如果你在Spring.ccb中添加了多个距离关节,就不管用了。

不幸的是,关节中没有name或tag属性去帮助你简单的标示它们,无论是SpriteBuilder中还是代码中。

无论如何,你可以赋予关节节点一个不同的name来标示它们。你可以在代码中访问关节bodies以及它们的节点(nodes),并且比较节点的名字去找到特定的关节。

用下面的代码取个栗子 ;)

if([joint.bodyA.node.name isEqualToString:@"node A"] && [joint.bodyB.node.name isEqualToString:@"node B"]){
  //do something
}
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    108697博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

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

微信扫码登录

0.0474s