-2

我在 xcode 工作并开发类似街机的游戏。当按下标记为右的按钮时,我似乎无法弄清楚如何仅在 x 轴上向右移动我的角色。我已经想出了几乎所有其他方法来让角色移动,但是有一个按钮,这让这更加令人沮丧,对你们大多数人来说,这可能是一个非常简单的答案。我正在用objective-c写。如果您能向我展示代码,我将不胜感激。

4

2 回答 2

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);

}

不,您可以将 View.frame 调用包装在 UIView 动画块中,以使其动画到新位置,而不仅仅是跳跃。

[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);
                     }];
于 2012-07-16T19:40:00.277 回答
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;
}
于 2012-07-16T19:36:52.607 回答