我试图在上一个问题中对此进行解释,但失败了...
func setPiece(square: String, piece: String) {
if (piece == "whiteKing") {A1Square.texture = whiteKing}
}
这很好用,但是问题是我需要为所有方块提供大量代码,我想要的是这个...
func setPiece(square: String, piece: String) {
if (piece == "whiteKing") {square.texture = whiteKing}
}
将“ A1Square”传递到函数中的位置...
我想将字符串“ A1Square” .texture = whiteKing转换为A1Square.texture = whiteKing。反正有这样做吗?
最佳答案
Azurlake有一个正确的想法,请尝试将A1Square
类而不是String
的对象传递给该函数。
如果您不想这样做,并且A1Square
是节点,则可以使用SpriteKit方法childNodeWithName:
。如果您在正方形的父节点上调用此名称,并使用字符串作为正方形的名称,它将返回该名称的子节点。
例如,如果将正方形添加到self
,则可以说:
let node: SKSpriteNode = self.childNodeWithName(square) as SKSpriteNode
if (piece == "whiteKing") {node.texture = whiteKing}
关于swift - 将字符串的文本转换为变量名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32188265/