gpt4 book ai didi

swift - 从 GameScene 类中的节点创建子类

转载 作者:搜寻专家 更新时间:2023-11-01 06:04:05 24 4
gpt4 key购买 nike

我正在尝试从此节点创建一个类,以便我可以从中创建各种对象,但 Xcode 一直显示“预期声明”。如何从我的节点创建一个类?这是给我错误的代码:附言我是 StackOverflow 的新手,所以如果我的问题需要更多详细信息,请告诉我,而不是搁置。谢谢!

import SpriteKit
import GameplayKit

class GameScene: SKScene, SKPhysicsContactDelegate {

override func didMove(to view: SKView) {

class nodeClass{
let platform = SKSpriteNode(color: UIColor.yellow, size: CGSize(width: 400, height: 60))

platform.xScale = 0.8
platform.yScale = 0.8
platform.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: platform.size.width, height: platform.size.width / 6))

platform.position = CGPoint(x: 150, y: -100)
platform.physicsBody?.categoryBitMask = 1
platform.physicsBody?.collisionBitMask = 0
platform.physicsBody?.isDynamic = false
platform.physicsBody?.affectedByGravity = false

self.addChild(platform)
}
}
}

最佳答案

您应该(理想情况下)在函数之外声明和定义您的类。

由于缺少更好的术语,在包含代码的文件的“根”级别。

为了个人的清晰度,大多数人,大多数时候,创建一个新文件并使用它来保存他们所有类的声明和定义。这在 Swift 中并不是绝对必要的,但对于刚开始的人来说,这是一种有用的清晰技巧。就像我一样。

下一个问题:nodeClass 不是按照您编写的方式子类化任何东西。这是一种“独立”类型。由于它在说明它的子类的冒号后没有任何内容,因此它是一个全新的类型。

在上面,您可以看到 GameSceneSKScene 的子类,因为它正在执行此操作。子类化后的任何类型名称都是协议(protocol) GameScene 同意符合

关于swift - 从 GameScene 类中的节点创建子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41912854/

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