iOS 基础入门--Bull' Eye 小游戏
说明
Bull's Eye小游戏是http://www.raywenderlich.com/store/ios-apprentice里非常酷的入门demo
跟着该教程一步步做下来便有了 Bull's Eye,源码可以在官网寻找,或者从我的github上clone, https://github.com/avenwu/bulleye.git
先来秀效果图:



规则很简单,每次产生一个1-100的随机数,玩家通过滑块滑动到最接近的位置后单击Hit me 按钮,弹出得分情况,得分累计到Scroe后面,Round显示当前为第几局, 左侧有重置按钮,可以清零得分和局数。
目标
- 了解xcode创建项目的过程
- 熟悉并使用ImageView, Button, Label, Horizontal Slider, WebView,为UI控件添加Action
- 3.5/4inch简单的尺寸适配
- 使用storyboard,添加view controller
开发环境:Xcode5.0.2/Mac Pro
实现讲解
游戏非常简单,通过xcode创建一个singleview的项目,勾选ARC,这样新建出来的项目已经包好了我们需要额绝大多数的文件,如果做过Android,其实会发现iOS应用开发还是比较上手的。下图是Bull‘s Eye的项目结构,
相比较新建的项目里面多了一个view controller,这个view controller按我的理解来看可以类比成Android里面Activity,他是主要是用来处理UI控件的交互逻辑,比如更新label的文本内容,添加Action事件,有一点不同的是不要我们显示地设置他对应的view,而是通过在storyboard里面拖出一个view controller然后制定它对应的class为我们的类文件。这里ViewController对应游戏主界面,AboutViewController对应的是说明页面。

单击左侧工程栏里的Main.storyboard,然后编辑区域将出现类似Android里面xml布局的编辑区域,我们就在这里选中需要的controller然后在上面添加所需UI控件,所有的控件可以在右侧的UIKit里找到,直接拖拽到页面内,然后调整参数,显示内容,大小颜色什么的都可以,拖一个新的view controller出来绑定为AboutViewController,同样放上相应控件,

现在页面的布局已经完成了,但是我们如何从代码里面控制某个控件呢?在Android里面我可为控件制定id然后再activity内findViewbyId, 在iOS里面通过OutLet和Action来做这件事,至于两者的涵义和操作,相关资料很多,这里不再啰嗦。
现在我们开始敲代码了,打开ViewController.h这是我们的头文件,里面声明了Slider, label, 和Action几个方法,都是和UI控件绑定好的,从其那面的同心圆小标记可以看出来

现在打开他的实现文件ViewController.m,实现各函数,showAlert在Hitme按钮单击的时候触发,我们让他弹出一个对话框,显示当前的得分情况
iOS 基础入门--Bull' Eye 小游戏 的更多相关文章
- [置顶] IOS 基础入门教程
IOS 基础入门教程 教程列表: IOS 简介 IOS环境搭建 Objective C 基础知识 创建第一款iPhone应用程序 IOS操作(action)和输出口(Outlet) iOS - 委托( ...
- iOS 类似2048、4096小游戏-OC
大概思路(初步制作,粗工制造):demo 1.Collection 创建cell 2.cell上添加一个view,用来添加手势 3.字典用来存放数据->每次执行StarGame数组接收没有数字的 ...
- 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <五> NSDicionary + NSMutableDictionary
int main(int argc, const char * argv[]) { @autoreleasepool { //字典, 存储的内存不是连续的 用key和value进行对应(键值) //k ...
- iOS基础 - 史上最难游戏
步骤一:隐藏状态栏 步骤二:屏幕适配 步骤三:设置窗口的根控制器为导航控制器,并且设置导航条和状态栏. 步骤四:搭建设置界面 步骤五:控制器连线 步骤六:搭建关卡控制器 加载pilst文件 创建关卡模 ...
- iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码
iOS精选源码 如丝般顺滑的微信朋友圈(点赞,评论,图文混排表情,... 动态菜单第三版本:动态项,自适应方向 仿appstore首页滚动效果 iOS 透明导航栏方案 TransparentNavig ...
- 了解python,利用python来制作日常猜拳,猜价小游戏
初次接触python,便被它简洁优美的语言所吸引,正所谓人生苦短,python当歌.python之所以在最近几年越发的炽手可热,离不开它的一些特点: 1.易于学习:Python有相对较少的关键字,结构 ...
- 改进我们的小游戏 - 零基础入门学习Python004
改进我们的小游戏 让编程改变世界 Change the world by program 改进我们的小游戏 很多鱼油对改善这个游戏提出了建议,小甲鱼做了一下总结,大概有以下几个方面需要改进: 猜错的时 ...
- Python基础入门-实现猜数字小游戏
今天呢,我们来通过前面学过的一些知识点来完成一个猜数字大小的游戏程序设计.那么呢,一般人写代码直接上来就干,没有分析,这样的做法是没有产出的,除非你是大牛,今天呢,我会把我学习编程的思路分享给大家,我 ...
- 零基础入门学习Python(4)--改进我们的小游戏
前言 在以前的博客中有做个一个小游戏,但是太简单了,所以这次就来对我们做的小游戏进行改进,改善从以下四个方面进行: 程序猜错的时候要给出提示,例如告诉用户输入的值是大了还是小了. 以前程序每运行一次只 ...
随机推荐
- Bug:java.lang.StackOverflowError: stack size 8MB
在开发的时候遇到了这个Bug:java.lang.StackOverflowError: stack size 8MB Log: 11-27 14:16:37.093 21892-21892/com. ...
- Oracle 11G 安装图文教程
Oracle 11G 下载地址:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.htm ...
- 使用Xilinx K7 KC705开发板调试PCIe中的问题【持续更新】
开发板:Xilinx K7 KC705 软件:ISE14.7 1.由于应用需求,我们要将开发板作为主机端,通过PCIe接口转接板外接一个NVMe PCIe SSD.并由FPGA控制SSD的数据读写. ...
- Binlog中最容易踩到的坑
MySQL高可用架构中,主库复制是非常常见的一种. 当主库宕机后,可以提升一个从库作为新的主库,保证服务可用性:同时可以通过扩展从库,提高整个集群的QPS. 在主从复制架构下,MySQL通过binlo ...
- mysql++ Query
mysqlpp:: Query类存储了Connection的指针,可以用它进行SQL语句的增删改查. 连上数据库后,使用mysqlpp::Connection::query()获取Query对象 Qu ...
- sessionStorage 、localStorage、cookie
特性 cookie localStorage sessionStorage 存储 浏览器端,同源限制 浏览器端,同源限制 浏览器端,同源限制 容量 <=4K 5 ...
- git(8):常用命令
Git常用操作命令收集: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v ...
- 【驱动】网卡驱动·linux内核网络分层结构
Preface Linux内核对网络驱动程序使用统一的接口,并且对于网络设备采用面向对象的思想设计. Linux内核采用分层结构处理网络数据包.分层结构与网络协议的结构匹配,既能简化数据包处理流程 ...
- Windows下断言的类型及实现
一.内容综述 本文主要介绍Windows下断言assert的实现,并总结断言的不同应用准则.最后给出一个windows自定义断言的方法. 本文行文参考<Debugging Windows Pro ...
- jsdoc注释规范工具(使用 JSDoc 3 自动生成 JavaScript API 文档)
安装和使用规范见:http://moodpo.com/archives/jsdoc3-tutorial.html 实例: /** * 模块调用方法 * * * @param {string} modu ...