2011-04-12 4 views
0

나는 튀는 공 응용 프로그램을 만드는 http://www.bit-101.com/blog/?p=1798 자습서를 따라 왔습니다. 하지만 내가하고 싶은 일은 20-30 개의 공을 만들어 사용자 터치로 아이폰 화면 어디서나 드래그 할 수 있으며 화면의 어느 곳 으로든 드롭 할 수 있습니다. 누구나 내게 이것을 제안 할 수 있습니다 -이 작업을 수행하는 방법 나는 cocos2d를 사용하지 않는다. 나를 도와 주시거나 나에게 몇 가지 링크 또는 유용한 정보를 주시면 감사하겠습니다 .....튀는 공 응용 프로그램을 만드는 방법

답변

0

위의 코드로 작업 할 때, 당신은 위치를 처리 할 방법을 touchesMoved으로 작성할 수 있습니다 ballView입니다.

- (void)touchesMoved: (NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *anyTouch = [touches anyObject]; 
    [self setCenter:[anyTouch locationInView:[self superView]]; 
} 

시도해보십시오.

또는이

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


    if ([touches count] == 1) { 
     UITouch *newTouch = [[touches anyObject] locationInView:[self superview]]; 
     UITouch *lastTouch = [[touches anyObject] previousLocationInView: [self superview]]; 
     NSLog(@"xxxxxggdfgdfgfdgdfg%f",newTouch.x); 
     NSLog(@"yyyyyyggdfgdfgfdgdfg%f",newTouch.y); 
     xDif = newTouch.x - lastTouch.x; 
     yDif = newTouch.y - lastTouch.y; 


     } 
     CGAffineTransform translate = CGAffineTransformMakeTranslation(xDif, yDif); 
     [self setTransform: CGAffineTransformConcat([self transform], translate)]; 
    } 
+0

감사를 잡아 터치 이동을 사용할 수는 나의 ​​전체보기를하지 드래그 작동하지 않습니다 내가하고 싶은 것은 drawrect 방법을 사용하여 볼을 만든 후 각 볼을 드래그하여 사용자 터치에 독립적으로 드롭해야한다는 것입니다. –

+0

이 메소드를 BallView 클래스에 작성하면 .... UIImageView를 상속받습니다 (다른보기에는 해당하지 않음) ... 이것은 볼의 위치 만 이동합니다. – Ravin

+0

또한, BallView의 init 메소드에서 [self setUserInteractionEnabled : YES]를 쓰는 것을 잊지 마십시오. – Ravin

0
하나를 업데이트

사용할 수있는 타이머 {

pos가 = CGPointMake (7.0, 14.0); 타이머 = [NSTimer scheduledTimerWithTimeInterval : 0.05 대상 : 셀렉터 : @ 선택기 (onTimer) userInfo : nil 반복 : YES]; }

와 선택기를 사용하는 메소드를 호출

- (무효) onTimer { image.center = CGPointMake (image.center.x + pos.x, image.center.y pos.y +); if (image.center.x> 320 || image.center.x < 0) pos.x = -pos.x; 이에 의해

if (image.center.y>460 || image.center <0) 
    pos.y=-pos.y; 

}

유 아이폰 화면에서 이미지를 이동하고 그 이미지를 유 제안 도움말 강탈하지만, 코드에 대한

+0

만약 당신이 친구에게 도움이된다면 upvote하십시오 –

+0

안녕하세요, 감사합니다 vijay하지만 이미 NSTimer를 사용하고 있습니다. 내 응용 프로그램도 작동하지만 20-30 공을 원합니다. 사용자는 모든 공을 터치 할 수 있어야하며 사용자도 있어야합니다. 30 개의 볼을 각각 드래그 할 수 있고 또한 30 개의 볼을 떨어 뜨릴 수 있습니다. –

관련 문제