您当前的位置: 首页 >  游戏

(NO.00001)iOS游戏SpeedBoy Lite成形记(二十一)

发布时间:2015-10-26 15:07:18 ,浏览量:0

现在游戏中如果钱用光了赌场也是不管的,所以我们要加上Game Over的逻辑。

出现游戏结束条件很简单,就是GameState的totalMoney <= 0.而在游戏结束时我们要做些什么呢?有很多种展现的形式,我们这里就弹出一个菜单,然后让玩家选择重新开始或是回到游戏主菜单。

打开SpriteBuilder,新建一个GameOverLayer.ccb文件,类似于PopupMoneyLayer.ccb的设置,这里不再赘述。我们添加2个按钮,按合适的位置布局它们的位置,设置Root节点自定义类为PopupLayer。然后分别设置按钮的的回调方法为gameRetry和gameReturnMain,做好的窗口界面如下:

这里写图片描述

打开Xcode,在PopupLayer.m中实现上述2个方法:

-(void)gameRetry{  GameState *gameState = [GameState sharedInstance];
    gameState.totalMoney = 1000;
    [self.gameScene removePopup];
}

-(void)gameReturnMain{  CCScene *mainScene = [CCBReader loadAsScene:@"MainScene"];
    CCTransition *trans = [CCTransition transitionCrossFadeWithDuration:1];
    [[CCDirector sharedDirector] replaceScene:mainScene withTransition:trans];
}

同样我们要在适当的时候弹出该菜单窗口,自然在每场比赛结束的时候判断,即在matchRun中block里:

if ([self isGameOver]) { CCLOG(@"Game Over");
                    [self showPopupNamed:@"Layers/GameOverLayer"];
                }

在GameScene.m补全isGameOver方法:

-(BOOL)isGameOver{
    GameState *gameState = [GameState sharedInstance]; if (gameState.totalMoney <= 0) { return YES;
    } return NO;
}

好了,现在游戏结束时玩家可以选择重试或者是返回主界面鸟。

这里写图片描述

请先忽略背景超大的大头贴和万丈光辉,我们后面自会提及。 当然这只是简单的App,在真实的游戏中我们可以消耗宝石,降低难度,提示玩家充值,加入可恶的广告等等诸多大法。

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    108697博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0474s