0

在我的 iphone 应用程序中,我有几个图像。让我们说一些小方形图像。我想要的是我希望小物体在 rondom 时间从屏幕顶部出现并从底部离开屏幕。我的意思是,例如,对象从 x:30 y:0 点随机出现(x 值必须是随机的)并从 x:30 y:460 离开并带有动画。

我正在编写一个 2d 赛车游戏,它们就是汽车。希望很清楚。

编辑:好吧,我尝试更改数字属于其他内容的框架。但是我无法获得图像的框架,而且我无法弄清楚如何多次随机生成位置。因为我打算把它放在 viewDidLoad 上。

[UIView beginAnimations:@"myAnimation" context:nil];
CGRect Frame = image.frame;
if(Frame.origin.y == 340){
    Frame.origin.y = 260;
}else{
    Frame.origin.y = 340;
}
image.frame = Frame;
[UIView commitAnimations];
4

1 回答 1

2

您的示例代码未显示您的要求。也很难猜出你想要什么。

这是我对您所要求的内容的字面解释

for (int i = 0; i < 100; i++) {

    CGRect startFrame = CGRectMake(arc4random_uniform(320), -50, 50, 50);
    CGRect endFrame   = CGRectMake(arc4random_uniform(320),  
                                   CGRectGetHeight(self.view.bounds) + 50, 
                                   50, 
                                   50);

    UIView *animatedView = [[UIView alloc] initWithFrame:startFrame];
    animatedView.backgroundColor = [UIColor redColor];

    [self.view addSubview:animatedView];

    [UIView animateWithDuration:2.f
                          delay:i * 0.5f
                        options:UIViewAnimationCurveLinear
                     animations:^{
                         animatedView.frame = endFrame;
                     } completion:^(BOOL finished) {
                         [animatedView removeFromSuperview];
                     }];
}

如果你坚持下去,viewDidAppear:你会看到 100 个对象以你想要的方式动画。显然这是非常低效的,你可能想看看回收视图等,但这显示了如何使用UIView带有一些随机点的动画来动画视图

于 2012-08-23T09:17:36.707 回答