Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sprite kit 脉冲不';不适用于雪碧套件_Sprite Kit_Sprite_Physics - Fatal编程技术网

Sprite kit 脉冲不';不适用于雪碧套件

Sprite kit 脉冲不';不适用于雪碧套件,sprite-kit,sprite,physics,Sprite Kit,Sprite,Physics,每次触摸时,我都试图对SK中的精灵节点应用一个脉冲,但什么也没发生。触摸正在记录,但没有冲动 -(id)initWithSize:(CGSize)size { if (self = [super initWithSize:size]) { /* Setup your scene here */ self.backgroundColor = [SKColor colorWithRed:0.15 green:0.15 blue:0.3 alpha:1.0]; s

每次触摸时,我都试图对SK中的精灵节点应用一个脉冲,但什么也没发生。触摸正在记录,但没有冲动

-(id)initWithSize:(CGSize)size {    
 if (self = [super initWithSize:size]) {
     /* Setup your scene here */

    self.backgroundColor = [SKColor colorWithRed:0.15 green:0.15 blue:0.3 alpha:1.0];
    self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];

    SKSpriteNode *torso = [SKSpriteNode spriteNodeWithColor:[SKColor blueColor] size:CGSizeMake(40, 60)];
    torso.position = CGPointMake (250,250);
    torso.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(40, 60)];
    torso.physicsBody.dynamic = YES;

    [self addChild: torso];

    SKSpriteNode *arm = [SKSpriteNode spriteNodeWithColor:[SKColor redColor] size:CGSizeMake(15, 50)];
    arm.position = CGPointMake (235,235);
    arm.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(40, 60)];
    arm.physicsBody.dynamic = YES;

    [self addChild: arm];

    SKPhysicsJointPin *leftArm = [SKPhysicsJointPin jointWithBodyA:torso.physicsBody bodyB:arm.physicsBody anchor:torso.position];
    [self.physicsWorld addJoint:leftArm];


   }
   return self;
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

    [_torso.physicsBody applyImpulse:CGVectorMake(12, 10)];
    NSLog(@"touch");
}

我的精灵节点确实有另一个节点链接到它,但我在没有附加节点的情况下尝试了Pulse,但它仍然不起作用。

出于某种原因,为了移动我的精灵节点,我必须这样创建它

_torso = [SKSpriteNode spriteNodeWithColor:[SKColor blueColor] size:CGSizeMake(40, 60)];
而不是

 SKSpriteNode *torso = [SKSpriteNode spriteNodeWithColor:[SKColor blueColor] size:CGSizeMake(40, 60)];

有一次我设置了一个断点,看到“躯干为零”,我参考了以前的一些工作,看到了我的错误。

你在
initWithSize:
中创建了一个
躯干
的新实例,但你似乎从未将
\u躯干
设置为任何值。@MikeS,除非我像我想的那样修复它,对实例名称的更正没有改变任何东西!你到底改变了什么?设置一个断点并检查躯干是否nil@LearnCocos2D没有,我回答了我的问题。感谢两位的帮助您是否将躯干声明为弱变量/属性?这就可以解释了。