我正在尝试一些简单的动画,并遵循了一个基本弹跳球的教程。
如何使用我自己的一组坐标而不是整个屏幕来限制球反弹的位置?我在教程中使用的代码随机选择整个屏幕的坐标,我想设置它的坐标,这样它只会在屏幕中间的一个小方块中反弹,而不是出去那些界限。
.m
int ballx, bally;
///////
ballx = arc4random() % 320;
bally = arc4random() % 480;
//////////
-(void)movetheball {
[UIView beginAnimations: @"MovingTheBallAround" context: nil];
[UIView setAnimationDelegate: self];
[UIView setAnimationDuration: 1.0];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
myball.frame = CGRectMake(ballx, bally,myball.frame.size.width,myball.frame.size.height);
[UIView commitAnimations];
}
- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(SEL)aSelector {
if (finished) {
// set new coordinate for ballx and bally
ballx = arc4random() % 320;
bally = arc4random() % 480;
[self movetheball];
}
我看过SO,但除了以下内容外,我找不到类似的东西:
ballx.center = CGPointMake(320/2, [self randNumBetween:-50:-100]);
我试图适应但没有取得多大成功。我没有大量的编程经验,所以我不确定我是否对那段代码有误解