在Swift中碰撞检测非常简单 - 但在这个特定项目中,身体碰撞并不didBeginContact像往常一样触发事件.
这是我的两个身体碰撞的清单(使用士兵和子弹):
SKPhysicsContactDelegate课程.self.physicsWorld.contactDelegate = selflet bulletCategory = 0x1 << 0bulletCategory(士兵设置为soldierCategory).soldierCategory(士兵设置为bulletCategory).didBeginContact()处理程序以下是我的完整代码.碰撞是最小的~20行"Hello World".
如果您创建一个新的"游戏"并将其复制粘贴到GameScene.swift中,它将会运行,不会触发任何碰撞事件.
//
// GameScene.swift
// Thesoldier
//
// Created by Donald Pinkus on 12/19/14.
// Copyright (c) 2014 Don Pinkus. All rights reserved.
//
import SpriteKit
class GameScene: SKScene, SKPhysicsContactDelegate {
var soldier = SKShapeNode(circleOfRadius: 40)
let soldierCategory:UInt32 = 0x1 << 0;
let bulletCategory:UInt32 = 0x1 << …Run Code Online (Sandbox Code Playgroud)