18、《游戏开发中的高级输入处理及相关编程概念》

游戏开发中的多点触摸处理

《游戏开发中的高级输入处理及相关编程概念》

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)来创建表示触摸的类型,示例如下:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值