疯狂ios讲义疯狂连载之实现游戏视图控制器

简介:

前面已经给出了游戏界面的布局文件,该布局文件需要使用一个视图控制器来负责显示。除此之外,视图控制器还需要为游戏界面的按钮事件提供事件监听器。

下面是该程序的视图控制器类的代码。

程序清单:codes/13/Link/Link/FKViewController.m

wKioL1MCsZWjoFRLAAK4O-z1g28094.jpgwKiom1MCscXxkNqDAAVMbSdHayc504.jpgwKioL1MCsamy5dGnAAKimikAZEs256.jpgwKiom1MCsdigacHaAAB8Ebbldvo802.jpg

该视图控制器在viewDidLoad方法中创建了FKGameViewFKGameService对象,其中FKGameView负责绘制游戏界面,而FKGameService则负责维护游戏的状态数据和游戏的业务逻辑功能,程序将FKGameService设置为FKGameView的一个属性,这样即可让FKGameView通过该FKGameService对象来绘制程序界面。


由于FKGameView需要调用FKViewController的方法来判断输赢,因此,程序先在FKGameView中定义了一个FKGameViewDelegate协议,然后FKViewController实现该协议,并将自身设置成FKGameView的委托对象。


除此之外,该程序为了控制时间流逝,定义了一个计时器,该计时器每隔1秒触发一次,程序将会根据该触发器减少游戏的剩余时间。上面的程序中,startGame方法内的粗体字代码负责启动计时器。


——————本文节选自《疯狂ios讲义(上)》

085723_p1VK_262659.jpg


 

本文转自 fkJava李刚 51CTO博客,原文链接:http://blog.51cto.com/javaligang/1359980 ,如需转载请自行联系原作者

相关文章
|
6月前
|
iOS开发
SwiftUI适配iOS16导航控制器引起的闪退
SwiftUI适配iOS16导航控制器引起的闪退
72 0
|
iOS开发
iOS 15后设置导航控制器的导航条背景色无效的问题处理
iOS 15后设置导航控制器的导航条背景色无效的问题处理
489 0
|
安全 数据安全/隐私保护 iOS开发
iOS小技能:【发红包】使用tweak和lua脚本结合进行实现
我们开发的大部分越狱程序,都是编译成动态链接库(`例如:介绍的越狱程序(Tweak)开发,就是动态链接库。`),然后通过越狱平台的MobileSubstrate(iOS7上叫CydiaSubstrate)来加载进入目标程序(Target),通过对目标程序的挂钩(Hook),来实现相应的功能。
334 0
|
存储 调度 开发者
iOS 子控制器
iOS 子控制器
119 0
|
iOS开发
IOS15上纯代码布局之导航控制器的导航条为透明的问题
IOS15上纯代码布局之导航控制器的导航条为透明的问题
225 0
|
Android开发 iOS开发
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
415 0
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
|
存储 安全 iOS开发
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
473 0
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
|
Swift 数据安全/隐私保护 iOS开发
iOS开发 - swift通过Alamofire实现https通信
iOS开发 - swift通过Alamofire实现https通信
431 0
iOS开发 - swift通过Alamofire实现https通信
|
开发者 iOS开发
iOS开发 - 用AFNetworking实现https单向验证,双向验证
iOS开发 - 用AFNetworking实现https单向验证,双向验证
424 0
iOS开发 - 用AFNetworking实现https单向验证,双向验证
|
iOS开发
iOS小技能:自动布局实现兄弟控件N等分且宽高比例是1:N(xib 上实现)
本文为 iOS视图约束专题的第三篇:xib上使用自动布局教程
182 0