2012-07-16 3 views
-2

저는 xcode에서 일하고 있고 게임과 같은 아케이드를 개발 중입니다. 나는 right라는 레이블이 붙은 버튼이 눌려 졌을 때 X 축에서만 내 캐릭터를 움직이는 법을 알아낼 수 없다. 나는 캐릭터를 움직일 수있는 거의 모든 다른 방법을 생각해 냈습니다. 그러나이 버튼을 사용하면 훨씬 더 실망스럽게 만들 수 있습니다. 그리고 대부분 여러분에게 이것은 아마도 간단한 대답 일 것입니다. 나는 objective-c로 글을 쓰고있다. 코드를 보여 주면 대단히 감사하겠습니다.xcode에서 버튼을 사용하여 문자/개체를 이동하는 방법

+0

버튼은 어떻게 생성됩니까? 프로그래밍 방식으로 또는 인터페이스 빌더와 함께? – ColdLogic

+2

이것은 매우 모호합니다! 어떤 요소를 사용하고 있습니까, UIImageViews, OpenGL 등 ..... ??? – trumpetlicks

+0

죄송합니다. 얘들 아, 나는 생각하지 않았다. 나는 단지 cocos2d를 사용하지 않고있다. 이동하려는 이미지는 상자라고하며 UIImageView에 있으며, 이동하는 버튼은 rightButton이며 UIButton입니다. 귀하의 빠른 응답 주셔서 감사합니다, 미안 내 부족에 대한. – Jerry

답변

1

저는 이것이 cocos2d와 같은 것이 아니라 일반적인 프레임 워크를 사용하고 있다고 가정합니다. 객체의 프레임이나 중심을 업데이트해야합니다!

-(void)buttonPressed:(id)sender { 
    CGRect frame = self.myObject.frame; 
    frame.origin.x += 20; //however many pixels to the right.. 
    self.myObject.frame = frame; 
} 
1

당신이있는 UIImageView,있는 UIView에 표시되는 문자, 또는으로 UIView의 다른 서브 클래스는 단순히 캐릭터가 이동하는 방법을 훨씬 프레임을 업데이트 할 수 있습니다를 잘합니다.

- (IBAction)move { 

int distanceRight = 5.0; 

theView.frame = CGRectMake(theView.frame.origin.x + distanceRight, theView.frame.origin.y, theView.frame.size.width, theView.frame.size.height); 

} 

아니요 점프가 아닌 새로운 위치에 애니메이션을 적용하려면 UIView 애니메이션 블록 에서View.frame 호출을 래핑 할 수 없습니다.

[UIView animateWithDuration:1.0f 
       animations:^{ 
         theView.frame = CGRectMake(theView.frame.origin.x + distanceRight, theView.frame.origin.y, theView.frame.size.width, theView.frame.size.height); 
        }]; 
관련 문제