如何让一个物体跳起来并回到它开始的地方?

时间:2014-08-05 08:02:05

标签: ios objective-c xcode

我正在开发一款游戏,但似乎无法使我的家伙与一个物体发生碰撞以结束他的跳跃并将他带回地面并将物体制作成地面,以便“#34;人"不会掉出屏幕。

---我不需要任何动画,这家伙已经动画了,只需要碰撞编码---

2 个答案:

答案 0 :(得分:0)

您在代码中显示的内容只是您需要的一半。您可以通过设置变量来响应用户触摸,但是您没有显示如何调用guyMoving方法,而这种方法似乎负责实际更改其在屏幕上的位置。这当然可以完成,但真的很麻烦。

实现您想要的最简单方法是使用UIViewAnimations(更长的教程here - 与我的评论中的链接相同):

CGPoint startPoint = guy.center;
CGPoint endPoint = guy.center;
endPoint.y -= 100;

[UIView animateWithDuration:5 animations:^{
    guy.center = endPoint;

    } completion:^(BOOL finished){

        [UIView animateWithDuration:5 animations^{
            guy.center = startPoint;
        };
    }];
}];

将其放入touchesBegan方法中。它会一个接一个地播放两个动画:第一个将在5秒内将guy向上移动100个像素,当它完成时,它将启动另一个具有相同持续时间的动画并移动{{1}向下。

注意:有更好的方法可以链接更长的动画。您还应该看一下关于动画的UIView docs章节。

答案 1 :(得分:0)

我有一种预感,无论你想做什么都可以通过使用UIAnimation轻松完成,更具体地说,通过引入重力和碰撞。

看看苹果公司的文档,我希望能帮到你