基于物理引擎的游戏开发:从攻击敌人到粒子特效
在游戏开发中,为了让游戏更加丰富和具有挑战性,我们需要逐步添加各种功能。下面将详细介绍如何为游戏添加攻击敌人、关卡管理、碰撞处理、自定义碰撞行为、显示准确玩家生命以及粒子特效等功能。
1. 利用物理引擎攻击敌人
当前游戏缺少一些重要的玩法元素,敌人不会攻击我们,并且我们还不能通过射击来消灭敌人。下面将实现射击敌人使其从屏幕上被击飞的功能,这主要涉及到物理引擎的使用,并需要对 PlayerNode
、 EnemyNode
和 GameScene
进行修改。
1.1 为节点添加物理体
首先,为没有物理体的节点添加物理体。
- EnemyNode.swift :在
init()
方法中添加initPhysicsBody()
调用,并实现initPhysicsBody()
方法。
initPhysicsBody()
private func initPhysicsBody() {
let body = SKPhysicsBody(rectangleOf: CGSize(width: 40, height: 40))
body.affectedByGravity = false
body.categoryBitMask = EnemyCategory