我正在使用Swift中的SpriteKit编写一个用于国际象棋编程的IOS应用程序。在将棋子的纹理添加到现有的彩色SKSpriteNode时,SKView的背景颜色会覆盖SKSpriteNode的背景颜色。
每个棋盘广场都是一个绿色或白色的SKSpriteNode。预期的行为是即使在棋盘方块顶部添加纹理(棋子)之后,仍将SKSpriteNode的颜色(绿色或白色)保留在棋盘方块中。 (即)纹理的背景颜色必须与棋盘方块的当前颜色(绿色或白色)动态匹配。
SKView的背景颜色设置为棕色
backgroundColor = SKColor.brownColor()
SKSpriteNode用于在嵌套循环内创建的棋盘方块(绿色和白色方块)。
boardSquare.square = SKSpriteNode(color: currentColor, size: boardSquare.squareSize)
添加可选棋子纹理的代码。 getPieceTexture返回可选的SKTexture?对于最初的方形位置。
boardSquare.square.texture = getPieceTexture(boardSquare)
我找不到办法解决我刚才提到的问题。我还附上了棋盘的截图,其中显示了棋盘方块,棋盘和SKView的背景颜色。有人可以帮我解决这个问题吗?
如果这篇文章有任何错误,请原谅。这是我的第一篇文章。
谢谢, ArtBajji
答案 0 :(得分:0)
使用棋子纹理创建一个新的SKSpriteNode,并将新节点放在与棋盘方块节点相同的位置。棋盘方块的背景颜色没有改变为SKView的背景颜色,但仍然与方形的颜色相同。希望这有助于其他人面临类似问题。感谢。