2014-12-30 3 views
0

SKAction을 사용하여 노드 이동을 시도하지만 노드를 추가하고 이동할 때마다 미친 것처럼 y 축을 따라 위아래로 지터가 시작됩니다!Spritekit 노드가 움직이면서 떨리는 이유는 무엇입니까?

아이디어가 있으십니까? 물리 기관이기 때문에

나는 등 MoveToY,하면 MoveTo를 사용하여 시도 .. 지터의 원인이 무엇 운이 확실하지 않은 한 ..

감사합니다 ..

-(void)addEnemy{ 
    enemy = [SKSpriteNode spriteNodeWithImageNamed:@"enemy"]; 
    enemy.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(40, 40)]; 
    enemy.physicsBody.dynamic = YES; 
    enemy.physicsBody.usesPreciseCollisionDetection = YES; 
    enemy.physicsBody.categoryBitMask = enemyHitCatagory; 
    enemy.physicsBody.contactTestBitMask = bulletHitCatagory; 
    enemy.physicsBody.collisionBitMask = bulletHitCatagory; 

    enemy.position = CGPointMake(random() % 300, CGRectGetMaxY(self.frame)); 
    enemy.size = CGSizeMake(40, 40); 
    enemy.zPosition = 5; 
    SKAction *attack = [SKAction moveTo:(CGPointMake(20, 300)) duration:(3)]; 
    [enemy runAction:[SKAction repeatAction:attack count:1]]; 


    [self addChild:enemy]; 

} 
+0

enemy.physicsBody.dynamic = NO로 설정하면 지터가 발생하지 않지만 충돌 감지가 없습니다 ... –

+0

'enemy.physicsBody.restitution = 0'을 (를) 추가해 보았습니까? 그리고 그것은 어떤 물리 구조든지를 위해 동일을 놓는가? 네 원수처럼 나에게 들리는 소리가 물리학 체에서 튀어 나오고있다. 기본적으로 물리학자는 0.2의 보상을 갖습니다. –

+0

굉장 !! 그걸 고쳐 준 것 같아! 감사!! @ pasta12 –

답변

1

이 일어나고있다 충돌. 기본적으로 SKPhysicsBodyrestitution0.2으로 약간 작습니다. enemy.physicsBody.restitution = 0을 설정하고 적과 충돌하고있는 물리 구조에 대해 동일한 작업을 수행하면보고있는 지터를 해결해야합니다.

관련 문제