ios – SpriteKit固定接头

我有一个名为“SpikyRedBall”的SKSpriteNode是一个红球.我想为它添加尖峰,所以我使用了以下代码.我可以看到Spike附着在球上但是当球与另一个球发生碰撞时,它不会考虑固定关节并将它们分开移动.我使用以下实现:
@implementation SpikyRedBall

-(instancetype) init
{
    self = [super init];
    [self attachSpikes];
    return self;
}

    -(void) attachSpikes
    {
        Spike *spike = [[Spike alloc] init];
        spike.position = CGPointMake(0,0);

        // attach the joint
        SKPhysicsJointFixed *ballAndSpikeJointFixed = [SKPhysicsJointFixed jointWithBodyA:self.physicsBody bodyB:spike.physicsBody anchor:CGPointZero];

        [self.scene.physicsWorld addJoint:ballAndSpikeJointFixed];
        [self addChild:spike];
    }

@end

解决方法

听起来你没有针对尖峰本身的碰撞或接触类别设置.我会尝试将尖峰上的所有physicsBody属性设置为与球的属性相同,但显然确保它们没有碰撞或接触类别设置,以便它们会与自己的父球碰撞.

相关文章

背景 前端时间产品经理决定使用百度统计,使得 工程B 中原统计sdk-友盟统计,需要被去除。之前尝试去除...
结论: alloc负责分配内存和创建对象对应的isa指针; init只是返回alloc生成的对象。 所以alloc后,多次...
更新 如果UI愿意把启动图切割成n份,按一定约束在launchscreen.storyboard中进行排版,启动图效果会更好...
最近在看一本书《Effective OC 2.0》,今天看到有个tip是OC适中循环各自优劣性,作者最终推荐此块循环。...
// // ViewController.m // paintCodeTestOC //gif // Created by LongMa on 2019/7/25. // #import &a...
背景介绍 一般情况下,出于省电、权限、合理性等因素考虑,给人的感觉是很多奇怪的需求安卓可以实现,但...