gpt4 book ai didi

ios - 如何将实例变量分配给SKSpriteNode?

转载 作者:行者123 更新时间:2023-11-29 01:24:08 24 4
gpt4 key购买 nike

我有几个SKSpriteNodecircle1 , circle2等。我想使用 Int count 跟踪每个旋转的次数。 .有什么方法可以分配 count成为circle1的成员?类似于 circle1.count = 2 ,你会做的方式circle1.position = ... ?我不想为每个圈子都创建一个新变量,因为有很多。

最佳答案

您可以将 SKSpriteNode 子类化,并创建一个具有名为 count 的公共(public)属性的新类。像这样:

class Circle: SKSpriteNode {

var count:Int = 0

init() {

let texture = SKTexture(imageNamed: "circle")

//Designated initializer
super.init(texture: texture, color: SKColor.clearColor(), size: texture.size())

//initialization stuff goes here
}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}

然后像这样使用它:

let circle = Circle()

circle.count++

或者您可以使用 userData属性作为子类的替代(引用自文档):

Discussion

You use this property to store your own data in a node. For example, you might store game-specific data about each node to use inside your game logic. This can be a useful alternative to creating your own node subclasses to hold game data.

参见 here如何使用 userData。

关于ios - 如何将实例变量分配给SKSpriteNode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34212152/

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