如何在iPhone中创建移动球应用程序

时间:2009-12-16 16:56:52

标签: iphone

我想创建一个应用程序,其中球在iPhone屏幕上继续移动,当它们发生碰撞时,它们会获得反弹动作。每一分钟我都要加1个balll到极限。

有没有简单的方法可以做到这一点,或者有人做过这种应用程序。

4 个答案:

答案 0 :(得分:1)

几个月前,我把这样的事情编成了一个练习。我在每个球体上使用了大约120个刻面和非常标准的完全弹性“撞球”碰撞物理 - 使用Phong着色直接在OpenGL中实现。

我不假装应用程序已经过优化,但没有任何完全的咆哮,在标准的iPhone(3G,而不是最新的3GS)上,我能够在帧之前处理大约十几个球 - 利率放缓至无法使用。

答案 1 :(得分:0)

一种开放式问题,但是here is a tutorial on creating "pong"应该让你开始考虑动议背后的物理。

答案 2 :(得分:0)

将您的应用分成许多小问题。首先显示一个正方形,然后使其成为一个球体,然后尝试显示其中的许多,然后添加一些运动,然后进行物理计算。每个较小的步骤可能都有很多教程。

答案 3 :(得分:0)

希望这些代码可以帮到你。

在.h文件中声明:

IBOutlet UIImageView *ball;
CGPoint pos;

现在完成从xib文件到ball(在.h文件中声明)的imageview挂钩。

现在打开你的.m文件并输入以下代码:

-(void)viewDidLoad
{

        [super viewDidLoad];
        pos = CGPointMake(14.0,7.0);
        [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(onTimer)        userInfo:nil repeats:YES];

}

-(void) onTimer 
{

        ball.center = CGPointMake(ball.center.x+pos.x,ball.center.y+pos.y);

        if(ball.center.x > 320 || ball.center.x < 0)
        pos.x = -pos.x;

        if(ball.center.y > 460 || ball.center.y < 0)
                pos.y = -pos.y;
}