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