(NO.00001)iOS游戏SpeedBoy Lite成形记(二十二)
2015-10-26 15:22
477 查看
自己的游戏自己更需要多玩,这样才能首先发现不足的地方。所以本猫到现在已经忍一个地方很久了,就是弹出moneyLayer后每次都要输入数字才能关闭,这多少让人不爽。于是本篇我们就修正这个小小的不便。
首先在第一次弹出该窗口时我们随机设置一个合适的数字,如果是第二次弹出该窗口我们只是保持原先的值不便即可。
我们打开PopupLayer.m修改didLoadFromCCB方法:
添加autoMoney方法:
这里的判断条件为如果gameState.money为0表示用户还未设置值,取总金额的1/10,最低值为1,否则返回上一次的值.因为每次比赛结束后matchRun会将该该值设为0,所以逻辑是正确的.
为了照顾一些疯狂的赌徒,考虑到他们的要输光的渴望,我们再添加一个他们大爱的功能:全压!
在SpriteBuilder中修改PopupMoneyLayer.ccb文件布局如下:
即添加一个按钮,然后设置回调方法为:allMoney.
我们回到Xcode中实现该方法:
好了,修改了这2个小问题后方便了许多,本猫不禁的又多玩了几把 ;)
首先在第一次弹出该窗口时我们随机设置一个合适的数字,如果是第二次弹出该窗口我们只是保持原先的值不便即可。
我们打开PopupLayer.m修改didLoadFromCCB方法:
-(void)didLoadFromCCB{ if (_moneyText) { _moneyText.textField.keyboardType = UIKeyboardTypeNumberPad; NSInteger money = [self autoMoney]; _moneyText.string = [NSString stringWithFormat:@"%d",money]; } if (_recordsLabel) { [self initRecordsLabel]; } }
添加autoMoney方法:
-(NSInteger)autoMoney{ GameState *gameState = [GameState sharedInstance]; NSInteger money; if (gameState.money == 0) { money = gameState.totalMoney/10; if (money == 0) { money = 1; } }else money = gameState.money; return money; }
这里的判断条件为如果gameState.money为0表示用户还未设置值,取总金额的1/10,最低值为1,否则返回上一次的值.因为每次比赛结束后matchRun会将该该值设为0,所以逻辑是正确的.
为了照顾一些疯狂的赌徒,考虑到他们的要输光的渴望,我们再添加一个他们大爱的功能:全压!
在SpriteBuilder中修改PopupMoneyLayer.ccb文件布局如下:
即添加一个按钮,然后设置回调方法为:allMoney.
我们回到Xcode中实现该方法:
-(void)allMoney{ GameState *gameState = [GameState sharedInstance]; gameState.money = gameState.totalMoney; [self.gameScene removePopup]; }
好了,修改了这2个小问题后方便了许多,本猫不禁的又多玩了几把 ;)
相关文章推荐
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十二)
- JS判断客户端是否是iOS或者Android包括浏览器类型判断
- IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十一)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十一)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十一)
- IOS--JSON解析之JSONKit使用
- xib自动布局添加约束
- 百度地图使用心得
- IOS中Json解析的四种方法
- iOS自动化编译
- 让你的iOS应用提前通过审核
- iOS单列的实现
- IOS中self.xx 和 _xx 的区别
- iOS 缓存机制 (以SDWebImage 缓存图片为例)
- iOS 屏幕旋转问题
- iOS首页广告滚动栏循环
- IOS--JSON介绍
- IOS渐变图层CAGradientLayer
- IOS中的XML解析之DOM和SAX