gpt4 book ai didi

swift - GameScene.sks 中具有相同名称的多个节点

转载 作者:行者123 更新时间:2023-11-30 13:25:20 25 4
gpt4 key购买 nike

我正在尝试制作一个简单的 2D 平台游戏。我决定使用 SpriteKit 引擎提供的 Sprite ,而不是导入 Sprite :在 GameScene.sks 中,我拖放了一个 Sprite (简单的红色方 block ),我将其称为“墙”。我将其复制并粘贴到两堵墙上,玩家可以在上面跳跃。在代码部分我写了以下几行:

var wall = SKSpriteNode()

然后,在“didMoveToView”函数中:

    wall = self.childNodeWithName("wall") as! SKSpriteNode
wall.physicsBody = SKPhysicsBody(rectangleOfSize: wall.size)
wall.physicsBody?.affectedByGravity = false
wall.physicsBody?.dynamic = true
wall.physicsBody?.allowsRotation = false
wall.physicsBody?.pinned = true
wall.physicsBody?.categoryBitMask = physicsCategories.wall
wall.physicsBody?.contactTestBitMask = physicsCategories.player

由于我在类之外创建了一个结构体(“physicalCategories”)来保存各种类别位掩码,因此当我检查联系人时,它工作得很好:

 //CONTACT
func didBeginContact(contact: SKPhysicsContact) {
let contactMask = contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask

switch contactMask {
case physicsCategories.player | physicsCategories.wall:
isGrounded = true
default:
print("Some other contact")
}
}

我的问题是,这只适用于 2 个名为“wall”的 Sprite 之一。有没有办法在代码中引用场景中具有相同名称的所有 Sprite ?就像标签或类似“self.childrenNodesWithName(...)”之类的东西,我知道不幸的是它不存在。或者也许我做错了什么?预先感谢您。

最佳答案

我没有带 Mac,这是来自网络的屏幕截图:

enter image description here

关于swift - GameScene.sks 中具有相同名称的多个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37284982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com