《游戏开发中的高级输入处理及相关编程概念》
1. Tut’s Tomb 游戏简介
Tut’s Tomb 是一款玩家需要收集法老图坦卡蒙宝藏的游戏。在游戏里,各种宝藏会从墓室顶部掉落,玩家通过将相同的宝藏相互拖动来收集它们并获得分数。不过要注意,如果宝藏在墓室内停留时间过长,就会变成占据空间的无用石头。而且宝藏掉落的速度会越来越快,如果玩家不能及时从墓中移除足够的宝藏,墓室就会被填满,游戏也就结束了。
2. 高级输入处理的必要性
在一些简单游戏中,输入处理可能比较基础。例如在 Painter 游戏里,只需要跟踪玩家最后触摸的位置,因为玩家通常用单指进行游戏,这种方式就足够了。但在更复杂的游戏,如 Tut’s Tomb 中,玩家可能会使用多根手指在屏幕上拖动对象,基础的输入处理方法就不再适用。因此,需要扩展 InputHelper 类,使其能够处理多点触摸输入。
3. 创建触摸对象
当前的 InputHelper 类只能跟踪单个触摸的信息,具体存储了最后记录的触摸位置以及玩家是否点击(即玩家是否刚开始用手指触摸屏幕),相关属性如下:
var touchLocation = CGPoint(x: 0, y: 0)
var hasTapped: Bool = false
为了处理多点触摸输入,需要同时存储和跟踪多个位置的信息,并且要能区分不同的触摸。这意味着每个触摸位置都需要一个唯一的标识符。可以使用结构体(struct)来创建表示触摸的类型,示例如下:
游戏开发中的多点触摸处理
超级会员免费看
订阅专栏 解锁全文

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



