我试图在上一个问题中对此进行解释,但失败了...

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/

10-11 05:57