55、基于Sprite Kit的游戏开发实战

基于Sprite Kit的游戏开发实战

1. 碰撞检测与处理

在游戏开发中,碰撞检测是一个重要的环节。其核心思路是判断两个碰撞对象是否属于同一类别,如果是同一类别,它们就是“友方”;如果是不同类别,则需要确定谁是攻击者。在定义的类别中,类别是按照“攻击性”递增的顺序排列的,例如玩家节点可被敌人节点攻击,而敌人节点又可被玩家的导弹节点攻击,所以可以通过简单的大于比较来确定攻击者。

为了实现模块化和简化代码,不希望场景来决定每个对象在被敌人攻击或与其他对象碰撞时的反应,而是将这些细节构建到受影响的节点类本身。可以使用多态性让每个节点类以自己的方式处理这些情况,这需要为 SKNode 添加方法,并提供默认实现,让子类在需要时进行重写,这就需要使用类扩展。

添加类扩展到SKNode的步骤
1. 在Xcode的项目导航器中,右键点击 TextShooter 文件夹,从弹出菜单中选择 New File…
2. 在助手的 iOS/Source 部分,选择 Swift File ,然后点击 Next
3. 将文件命名为 SKNode+Extra.swift ,并点击 Create
4. 在编辑器中打开该文件,添加以下代码:

import Foundation
import SpriteKi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值