2014-04-20 2 views
1

Xcode를 사용하여 iPhone 앱용 효과를 만들려고하는데 무엇이 불려야하는지 잘 모르겠습니다.이 효과는 무엇입니까?

  • 목표는 모든 방법으로 드래그 할 수 없어야 대상에게
  • 사용자를 공격하기 위해 화면을 가로 질러 공을 밀어하는 것입니다

    나는 최선 내가 할 수있는 그것을 설명 할 것이다

  • 사용자 만 출시 개체를
  • 빠른 사용자 "슬라이드"를 터치하면 여행을 시작해야 볼이 더 빨리 여행해야하는 너무 쉬운 것입니다

Xcode에서 사용할 수있는 기존 효과입니까?

감사합니다.

+0

우선

#define FLICK_SCALAR 0.5 // tweak this to alter sensitivity 

우리는 헬퍼 구조체가 필요합니다. – joels

+0

당신이 기술하고있는 것이 물리 시뮬레이션 (가속도, 속도 등)에 가장 잘 설명되는 시나리오이므로 SpriteKit을 살펴볼 수 있습니다. SpriteKit은 많은 것을 구현할 수 있습니다. 그렇지 않으면, 나는 그것에 대해 구체적인 이름이 있다고는 생각하지 않는다. – user2105505

답변

2

Q 개발 차전 사용하여 구현할 수 있습니다

Xcode에서 사용할 수있는 기존 효과입니까?

A : 없음

그러나 한 가지 방법은 "영화"제스처에서 CGVector을 만들 수 없을 것입니다. 그런 다음 벡터에 "flicking"인 물체에 충격을가하십시오. 다음은 SpriteKit과 함께 사용되지만 다른 프레임 워크에서는 "flick"제스처로부터 벡터를 얻는 원칙을 채택 할 수 있습니다.

typedef struct TouchData { 
CGPoint point; 
NSTimeInterval time; 
} TouchData; 

그리고 속성 - - 새총 효과가 마음에 오는

@property TouchData touchOriginData; 

// Touch Handling 
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    // store the start data 
    for (UITouch *touch in touches) { 
     _touchOriginData.point = [touch locationInNode:self]; 
     _touchOriginData.time = [touch timestamp]; 
    } 
} 

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 
    // store the end data 
    TouchData touchEndData; 
    for (UITouch *touch in touches) { 
     touchEndData.point = [touch locationInNode:self]; 
     touchEndData.time = touch.timestamp; 
    } 
    // calculate the impulse vector from TouchData structs 
    NSTimeInterval timeTaken = touchEndData.time - _touchOriginData.time; 
    CGFloat vector_x = (touchEndData.point.x - _touchOriginData.point.x)/timeTaken * FLICK_SCALAR; 
    CGFloat vector_y = (touchEndData.point.y - _touchOriginData.point.y)/timeTaken * FLICK_SCALAR; 
    CGVector impulseVector = CGVectorMake(vector_x, vector_y); 
    // fire projectile node 
    [self someMethodThatFiresWithVector:impulseVector]; 
} 
0

이 새총 효과라고, 당신은 프레임 워크와 같은 Cocos2d 또는 SpriteKit

적인 Cocos2D 튜토리얼 Link

SpriteKit 튜토리얼 Link

+0

고마워요,하지만 슬링 샷에는 물건을 뒤로 당기고 여행하기 전에 풀어주는 것이 포함되어 있지 않습니까? 제 경우에는 볼을 방향으로 밀기 만하면됩니다. 터치가 해제되었을 때만 여행을 시작해야합니다. (드래그하여도 아무런 움직임이 없어야합니다.) 어쨌든 SpriteKit을 살펴 보겠습니다. –

+1

원하는 결과를 이해하면 새총 효과가 동일합니다. 유일한 차이점은 부정적인 방향으로 드래그하는 대신에 긍정적 인 방향으로 끌고 다니는 것입니다. 물리학에 대한 약간의 조정이 필요할 것입니다. 대부분 '-'를 '+'로 변경합니다. 나는 생각한다. – joels

+0

정확합니다 @ 카라. –

관련 문제