gpt4 book ai didi

swift - 如何在 SpriteKit 中将一个图 block 更改为另一个图 block (或空白)?

转载 作者:行者123 更新时间:2023-11-30 12:16:54 24 4
gpt4 key购买 nike

因此,我尝试使用瓦片 map 节点在 Xcode 8.3.3 中编写一个国际象棋应用程序,其中每个瓦片包含一个棋子或一个空白空间的 8x8 瓦片 map (在 GameScene.sks 中制作,而不是使用代码) 。我想做的就是换一 block 瓷砖。例如,如果有人移动棋子,我想将起始空间从棋子更改为空白,然后将结束方 block 从空白更改为棋子。这些图 block 组位于名为pieces.sks 的文件中,该文件是我在"file"->“新建”->"file"->“SpriteKit 图 block 集”中创建的。这是我到目前为止在 GameScene.swift 中的内容(我删除了与问题无关的内容),目标是在代码运行时将单个方 block 更改为白色主教:

class GameScene: SKScene {

var pieces : SKTileMapNode?

override func didMove(to view: SKView) {

self.pieces = self.childNode(withName: "//pieces") as? SKTileMapNode

if let pieces = self.pieces {
pieces.setTileGroup(backgroundGroup*, forColumn: 4, row: 4) //arbitrary square I'm using for testing
}
}
}

因此,由于一些原因,pieces.setTileGroup 让我感到困惑,例如“forColumn”而不是简单的“column”。我从苹果开发者文档中得到了它,但不确定做我想做的事情是否正确。 backgroundGroup(在代码中加星号)参数是一个占位符。我不知道如何在那里填写白色主教。谢谢!

最佳答案

我在 https://www.raywenderlich.com/137216/whats-new-spritekit-ios-10-look-tile-maps 找到了答案一般来说,这对于平铺 map 非常有用。

我添加:

let tileSet = SKTileSet(named: "Pieces")

pieces.setTileGroup(tileSet?.tileGroups[0], forColumn: 4, row: 4)

原点位于左下角,就像标准笛卡尔平面的第一象限一样。

关于swift - 如何在 SpriteKit 中将一个图 block 更改为另一个图 block (或空白)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45316850/

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