探索iOS加速计与相机功能:从小球应用到图像选取
1. 加速计作为方向控制器
在游戏开发中,开发者常使用加速计来控制角色或物体的移动,而非传统的按钮控制。例如在赛车游戏里,像转动方向盘一样扭转iOS设备可操控汽车转向,向前倾斜设备能加速,向后倾斜则可刹车。使用加速计作为控制器的方式会因游戏的具体机制而有很大差异。简单情况下,可从一个轴获取数值,乘以一个数后加到受控对象的某个坐标上;在物理模拟更真实的复杂游戏中,则需根据加速计返回的值调整受控对象的速度。
使用加速计作为控制器时,有个棘手的问题:委托方法不一定会按指定的间隔回调。若让运动管理器每秒读取加速计60次,只能确定其更新频率不会超过每秒60次,但不能保证每秒能获得60次均匀间隔的更新。因此,若基于加速计输入进行动画处理,必须记录每次更新之间的时间,并将其纳入方程以确定物体的移动距离。
2. 小球应用开发
接下来要开发一个通过倾斜iPhone让精灵在屏幕上移动的应用,这是使用加速计接收输入的简单示例,将使用Quartz 2D处理动画。通常,在开发需要流畅动画的游戏和其他程序时,可能会选择Sprite Kit、OpenGL ES或Metal,但为了简化并减少与使用加速计无关的代码,此应用使用Quartz 2D。
在这个应用中,倾斜iPhone时,弹珠会像在桌面滚动一样移动。向左倾斜,球会向左滚动;倾斜幅度越大,球移动越快;反向倾斜,球会减速,然后朝相反方向移动。
以下是开发该应用的具体步骤:
1. 创建项目 :在Xcode中,使用单视图应用模板创建新项目,将设备类型设为通用,项目命名为“Ball”。从示例源代码的“Im
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



