我试图在之前的问题中解释这个但是失败了......
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。反正有吗?
答案 0 :(得分:0)
Azurlake有正确的想法,尝试将函数传递给类A1Square
的对象而不是String
。
如果您不想这样做,并且A1Square
是节点,则可以使用SpriteKit方法childNodeWithName:
。如果在square的父节点上调用它并使用字符串作为square的名称,它将返回该名称的子节点。
例如,如果您将方格添加到self
,您可以说:
let node: SKSpriteNode = self.childNodeWithName(square) as SKSpriteNode
if (piece == "whiteKing") {node.texture = whiteKing}