iOS Swift didBeginContact未被调用

iOS Swift didBeginContact未被调用,第1张

概述在过去的两天里,我一直在努力让两个SKSpriteNodes注册一个碰撞并唤起didBegin #contact. 我为两个对象设置了它们的位掩码’categoryBitMask’,’contactTestBitMask’和’collisionTestBitMask’. 我还将’动态’属性设置为’true’ initPhysics()似乎设置了physicsWorld. 我所期待的就是调用了#Be 在过去的两天里,我一直在努力让两个SKSpriteNodes注册一个碰撞并唤起dIDBegin #contact.

我为两个对象设置了它们的位掩码’categoryBitMask’,’contactTestBitMask’和’collisionTestBitMask’.

我还将’动态’属性设置为’true’

initPhysics()似乎设置了physicsWorld.

我所期待的就是调用了#Begin #Contact,但事实并非如此

//Set up Physicsbody bit maskslet playerCarBitMask: UInt32 = 0x1 << 1let slowCarBitMask: UInt32 = 0x1 << 2//initPhysicsfunc initPhysics() {    println("(((((((((((((( Initiating Physicsbody ))))))))))))))")    self.physicsWorld.contactDelegate = self    self.physicsWorld.gravity = CGVector.zeroVector    println("self.physicsWorld.contactDelegate = \(self.physicsWorld.contactDelegate)")}//setupPlayerfunc setupPlayer() {    car = SKSpriteNode(imagenamed: "redCarUp")    car.setScale(2.0)    car.position = CGPoint(x: 800,y: 400)    car.zposition = 100    car.name = "car"    gameNode.addChild(car)    let carBody = SKPhysicsBody(        rectangleOfSize: car.frame.size,center: car.position)    carBody.dynamic = true    carBody.categoryBitMask = playerCarBitMask    carBody.contactTestBitMask = slowCarBitMask    carBody.mass = 5    carBody.collisionBitMask = slowCarBitMask    car.physicsBody = carBody    println("carBody = \(carBody)")    println("carBody.dynamic = \(carBody.dynamic)")    println("carBody.mass = \(carBody.mass)")    println("carBody.categoryBitMask = \(carBody.categoryBitMask)")    println("carBody.contactTestBitMask = \(carBody.contactTestBitMask)")    println("carBody.collisionBitMask = \(carBody.contactTestBitMask)")    slowCar = SKSpriteNode(imagenamed: "blueCarUp")    slowCar.setScale(2.0)    let slowCarScenePos = CGPoint(        x: 680,y: 2048)    slowCar.position = gameNode.convertPoint(slowCarScenePos,fromNode: self)    println("slowCar.position = \(slowCar.position) ****")    slowCar.zposition = 80    slowCar.name = "slowCar"    let slowCarBody = SKPhysicsBody(        rectangleOfSize: slowCar.frame.size,center: slowCar.position)    println("slowCar = \(slowCar) ****")    slowCarBody.dynamic = true    slowCarBody.categoryBitMask = slowCarBitMask    slowCarBody.contactTestBitMask = playerCarBitMask    slowCarBody.mass = 5    slowCarBody.collisionBitMask = playerCarBitMask    slowCar.physicsBody = slowCarBody    gameNode.addChild(slowCar)}func dIDBeginContact(contact: SKPhysicsContact!) {    println("*******************PhysicsContact********************")}
解决方法 ‘dIDBeginContact’已在swift 3中更改为’dIDBegin’

func dIDBegin(_ contact:SKPhysicsContact){
//东西
}

我有一个来自swift 2的代码,’dIDBeginContact’坐在那里,但没有被调用.经过相当的白色,我发现功能已经改变了.所以,我认为我的回答可以帮助某人.

总结

以上是内存溢出为你收集整理的iOS Swift didBeginContact未被调用全部内容,希望文章能够帮你解决iOS Swift didBeginContact未被调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1105665.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存