如何为iOS游戏按钮循环或交替使用此开关?

时间:2014-05-12 06:49:55

标签: objective-c loops ios7 switch-statement

我目前在我的游戏中有一个按钮,每次点击时都会调用不同的广告。这是代码。

- (IBAction)VideoAds:(id)sender{

int random = arc4random_uniform(2);

switch (random)
{
    case 0:
    {
        VungleSDK* sdk = [VungleSDK sharedSDK];
        [sdk playAd:self];

        NSLog(@"Case 0 Displayed - Vungle");
    }
        break;
    case 1:
        [AdColony playVideoAdForZone:@"APP_ID" withDelegate:nil];
        NSLog(@"Case 1 Displayed - AdColony");

        break;

   }

}

一切正常,当我点击按钮时,我会随机获得案例0或案例1。我想改变它,以便按顺序获得每个案例或让它们来回交替。我不想随意。我知道它可能只是一个简单的10秒修复,但我花了一个多小时搜索谷歌和Stackoverflow试图弄清楚如何做到这一点。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

试试这个:

iHoldCaseNo将是golbal变量,其中包含iHoldCaseNo案例无法执行。

- (IBAction)VideoAds:(id)sender{

int random = iHoldCaseNo;

switch (random)
{
    case 0:
    {
        VungleSDK* sdk = [VungleSDK sharedSDK];
        [sdk playAd:self];
        iHoldCaseNo=1;
        NSLog(@"Case 0 Displayed - Vungle");
    }
        break;
    case 1:
        [AdColony playVideoAdForZone:@"APP_ID" withDelegate:nil];
        NSLog(@"Case 1 Displayed - AdColony");
        iHoldCaseNo=0;
        break;

   }

}

或者另一种方法是将发送者,即按钮标签设置为0或1,并根据该句柄处理开关盒。

//For setting the tag use.
sender.tag=1 in case 0 and sender.tag=1 in case 1 
//to get random no,
int random = sender.tag;