2010-11-25 7 views
0

안녕하세요, 저는 아이폰에서 아주 간단한 게임을 구현하고 싶습니다. 이미지와 텍스트가 있습니다. 사용자가 이미지와 텍스트 사이에 선을 그리면 "정확함"이라고 말합니다.(iphone) 매우 간단한 아이폰 게임

이제 사용자가 화면을 터치 할 때마다 해당 터치 지점의 위치 (예 : X, Y)가 표시됩니다. (어떤 방법으로 전화를 걸어 위치를 얻으려고합니까?) 그런 다음 검은 점을 그려 볼 것입니다. 사용자가 계속해서 부드럽게 화면을 터치하면 선이 형성됩니다. 마지막으로 나는 라인의 시작점이 이미지 내에서 위치를 결정하고 끝점이 텍스트 내에서 위치를 결정하는지 여부 만 판단하면됩니다.

제 생각이이 게임을 구현하는 올바른 방법인지는 알지 못합니다. 만지는 지점의 좌표를 얻고 그 특정 위치에 검은 점을 그리는 방법이 있다면?

도와 주셔서 감사합니다.

+0

: s/Iphone/iPhone. 또한, 질문의 제목 앞에 "(iphone)"을 붙일 필요가 없습니다. 그것이 바로 태그입니다. 정말. –

답변

1

당신은 터치를 얻을 수는 뷰 컨트롤러의 touchesMoved 좌표 여기서 one_x one_y two_x two_x은 두 점에 대한 좌표입니다 ..

0

이것은 iPhone touch 위임이 작동하는 방식입니다. 전화 번호는 touchesBegan:, touchesMoved:touchesEnded:입니다.

CGContextRef context = UIGraphicsGetCurrentContext(); 
[current set]; 
CGContextSetLineWidth(context, 4.0f); 

for (int i = 0; i < (self.points.count - 1); i++) 
{ 
    CGPoint pt1 = POINT(i); 
    CGPoint pt2 = POINT(i+1); 
    CGContextMoveToPoint(context, pt1.x, pt1.y); 
    CGContextAddLineToPoint(context, pt2.x, pt2.y); 
    CGContextStrokePath(context); 
} 

그리고이 코드의 도움으로

, 당신은 그것을 만들 준비가되어 있어야합니다 : 선을 그리려면이 코드가 필요합니다. 도움이 필요한 경우 여기에 의견을 남기거나 다른 질문을하십시오.

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [touches anyObject]; 
    CGPoint touch_point = [touch locationInView:self.view]; 
    NSLog(@"x: %.0f y: %.0f", touch_point.x, touch_point.y); 
} 

drawRect 당신이보기를 추가 있고, 선을 그리고 선을 그리려면 :

- (void)drawRect:(CGRect)rect { 

    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSetLineWidth(context, 1.0); 
    CGContextSetStrokeColorWithColor(context, [UIColor orangeColor].CGColor); 

    // ... 

    CGContextMoveToPoint(context, one_x, one_y); 
    CGContextAddLineToPoint(context, two_x, two_y); 
    CGContextStrokePath(context); 

    // ... 
} 

CGPoint pt = [[touches anyObject] locationInView:self]; 
[self.points addObject:[NSValue valueWithCGPoint:pt]]; 
[self setNeedsDisplay];