我们可以在水龙头中使用计时器吗?

时间:2010-04-26 11:38:41

标签: iphone

我在app上工作,用户点击射击子弹, 我希望用户限制他们的水龙头, 就像他下一次点击或触摸应该在1或3秒后计算,

是他们的任何片段,我可以使用rtestrict用户连续拍摄/触摸吗?

快速回复很感激/ 问候 shishir

3 个答案:

答案 0 :(得分:1)

您可以像这样使用NSTimer对象。

在班级BOOL restrictTap;

中创建旗帜

添加此方法:

// is your tap method
- (void) tap {
    if ( restrictTap ) {
        return;
    }

    // do your staff

    restrictTap = YES;
    [NSTimer scheduledTimerWithTimeInterval:3 
                                     target:self 
                                   selector:@selector(enableTap)
                                   userInfo:nil 
                                    repeats:NO];
}

- (void) enableTap {
    restrictTap = NO;
}

答案 1 :(得分:0)

考虑查看NSTimer类文档。

答案 2 :(得分:0)

我的代码是这样的

如果(bulletNo == - 1)     {     bulletNo = 6;

}

开关(bulletNo)

{
    case 6:
        [self.audioPlayer play ];
        bulletOne.hidden=FALSE;
        bulletTwo.hidden=FALSE;
        bulletThree.hidden=FALSE;
        bulletFour.hidden=FALSE;
        bulletFive.hidden=FALSE;
        bulletSix.hidden=FALSE; 
        break;


    case 5:
        [self.audioPlayer play ];
        bulletOne.hidden=FALSE;
        bulletTwo.hidden=FALSE;
        bulletThree.hidden=FALSE;
        bulletFour.hidden=FALSE;
        bulletFive.hidden=FALSE;
        bulletSix.hidden=TRUE;  
        break;

    case 4:
        [self.audioPlayer play ];
        bulletOne.hidden=FALSE;
        bulletTwo.hidden=FALSE;
        bulletThree.hidden=FALSE;
        bulletFour.hidden=FALSE;
        bulletFive.hidden=TRUE;
        bulletSix.hidden=TRUE;  

        break;

    case 3:
        [self.audioPlayer play ];
        bulletOne.hidden=FALSE;
        bulletTwo.hidden=FALSE;
        bulletThree.hidden=FALSE;
        bulletFour.hidden=TRUE;
        bulletFive.hidden=TRUE;
        bulletSix.hidden=TRUE;  

        break;

    case 2:
        [self.audioPlayer play ];

        bulletOne.hidden=FALSE;
        bulletTwo.hidden=FALSE;
        bulletThree.hidden=TRUE;
        bulletFour.hidden=TRUE;
        bulletFive.hidden=TRUE;
        bulletSix.hidden=TRUE;  

        break;

    case 1:
        [self.audioPlayer play ];
        bulletOne.hidden=FALSE;
        bulletTwo.hidden=TRUE;
        bulletThree.hidden=TRUE;
        bulletFour.hidden=TRUE;
        bulletFive.hidden=TRUE;
        bulletSix.hidden=TRUE;  



        break;

    case 0:
        [self.audioPlayer play ];
        bulletOne.hidden=TRUE;
        bulletTwo.hidden=TRUE;
        bulletThree.hidden=TRUE;
        bulletFour.hidden=TRUE;
        bulletFive.hidden=TRUE;
        bulletSix.hidden=TRUE;  

        reloadLabel.hidden=FALSE;

        [reloadbutton setHidden:NO];

        break;

    default:
        break;
}
每次点击

,子弹值减1。 我提供了6个子弹图像,每个水龙头上,子弹图像变得可见和不可见,

现在 如果子弹== 60;

现在,当bulleNo的值变为0时,在每次第6次点击时,所有项目符号都不可见, 所以我想要的是,所有图像都是隐形的,我想限制用户点击。我已经有了一个摇动功能,当用户摇晃时,所有6个图像都变得可见。当所有子弹图像都可见时,用户再次开始点击......

希望我想要清楚... 快速回复总是受到赞赏...... 无论如何,谢谢回复老兄。