2014-05-13 5 views
2

나는이 스프라이트를 만들었고 움켜 잡을 수 있었다. 내 문제는 내가 스프라이트를 던질 수 있기를 원한다는 것이다. 의미, 내가 스프라이트를 풀 때 나는 그것을 움직 인 방향으로 계속하기를 원한다. 공을 던지는 것과 같습니다.스프라이트 키트 이동 스프 라이트

어떻게해야합니까?

@implementation NPMyScene 
{ 
    SKSpriteNode *sprite; 
} 

-(id)initWithSize:(CGSize)size 
{ 
    if (self = [super initWithSize:size]) 
    { 
     self.backgroundColor = [SKColor colorWithRed:0.15 green:0.15 blue:0.3 alpha:1.0]; 
     sprite.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:sprite.size.width/2]; 

     sprite.physicsBody.dynamic = YES; 
     self.scaleMode = SKSceneScaleModeAspectFit; 

     sprite = [SKSpriteNode spriteNodeWithImageNamed:@"GreenBall"]; 
     sprite.position = CGPointMake(CGRectGetMidX(self.frame), 
             CGRectGetMidY(self.frame)); 

     sprite.physicsBody.velocity = self.physicsBody.velocity; 
     sprite.physicsBody.affectedByGravity = false; 
     sprite.physicsBody.dynamic = true; 
     sprite.physicsBody.friction = 0; 
     [sprite.physicsBody isDynamic]; 

     [sprite.physicsBody allowsRotation]; 

     [self addChild:sprite]; 
    } 
    return self; 
} 



-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
[self touchesMoved:touches withEvent:event]; 
} 



-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    [sprite runAction:[SKAction moveTo:[[touches anyObject] locationInNode:self]duration:0.21]]; 
} 
+0

이 궤적 경로를 만들어야합니다 .. – Shivaay

+0

자세히 설명해 주시겠습니까? 임이 꽤 새로운. – user3631877

+0

스프라이트를 던지려는 것 볼을 던지기 만하면 스프라이트가 이처럼 움직일 것이라고 말하는 경로 (궤적 경로)를 설정해야합니다. 알았습니까? – Shivaay

답변

1

물리학을 공에 적용하는 것에 대해 이야기하는 경우 Sprite Kit에서 물리를 다루는 방법에 대해 더 깊이 생각할 필요가 있습니다.

'moveTo'동작을 지정하면 실제로 Sprite 키트의 물리 엔진을 전혀 사용하지 않게됩니다. 해당 스프라이트에 애니메이션을 적용 할 지점을 지정하기 만하면됩니다.

당신이 그것을과 같이 화면에 주위를 이동 있어요 당신이 손가락에 스프라이트의 위치에 부착되어 찾고있는 효과를 달성하기 위해 일을해야 무엇 :

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    sprite.position = [[touches anyObject] locationInNode:self]; 
} 

가 손가락을 들어 올려 그런 때를,

[sprite.physicsBody applyForce:calculatedForce]; 

당신은 어떻게 파악해야합니다 : 당신은 당신의 손가락이 단지 이동하는 방향과 속도를 계산하고 applyForce 방법을 사용하여 스프라이트의 물리 본체에 force의 적절한 금액을 적용해야 적용 할 힘을 계산하지만, applyForce 메소드를 가지고 놀고, touchedMoved : 이벤트에서 되돌릴 수있는 정보를보고 그 힘을 적용하는 데 도움이됩니다. 희망이 도움이됩니다.

+0

고마워. 나는 이것을 시도 할 것이다. – user3631877

+0

나는 그것을 관리했다. 감사. – user3631877

+0

좋아요! 잘 하셨어요. :) – henryeverett