我该如何循环或替换iOS游戏按钮的开关?



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

- (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;
   }
}

一切都很好,当我点击按钮时,我随机得到Case 0或Case 1。我想改变这一点,让每一种情况都按顺序排列,或者让它们来回交替。我不想要随机的。我知道这可能只是一个简单的10秒修复,但我花了一个多小时搜索谷歌和Stackoverflow试图找出如何做到这一点。谢谢你的帮助!

试试这个:

iHoldCaseNo将是一个全局变量,用于保存iHoldCaseNo的case no。

- (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;

最新更新