当用户摇动iPhone时如何做出反应?

时间:2012-07-15 15:00:24

标签: iphone xcode motion

我正在创建一个应用程序,当用户摇动iPhone播放动画时,我正在使用此代码:

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (event.subtype == UIEventSubtypeMotionShake)
{
    animation...
}

事情就是上面的代码只要用户摇动iPhone就会做出反应,只需一次。我需要用户上下摇动它,好像他们正在摇晃一个瓶子,几秒钟然后动画播放,同时他们摇动一个mp3文件必须播放,当动画播放声音必须播放时,请帮助,我是一个初学者,所以解释答案,谢谢:)

1 个答案:

答案 0 :(得分:2)

在您的.h文件中声明int numOfShakes;,并在每次用户摇动手机时递增它,一旦达到一定量的抖动,然后调用动画代码

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
        if (event.subtype == UIEventSubtypeMotionShake) {
            if (numOfShakes == 10) {
                //animate
                //Shook for a couple seconds
                numOfShakes = 0;
            } else {
                numOfShakes++;
                if (numOfShakes == 1) {
                //play some mp3
                }
            }
        }
    }