我正在使用 Sprite Kit 并尝试编写将向对象发送消息的动画。我想要完成的是调用这段代码:
[self.tileSelectionManager swapSingleTileBackToNotSelected:_letterTile];
但是通过使用SKActions。我首先尝试使用这样的 runBlock:
for (_letterTile in letterTileArray) {
SKAction *swapToNonSelected = [SKAction runBlock:^ {
[self.tileSelectionManager swapSingleTileBackToNotSelected:_letterTile];
}];
[_letterTiles runAction:swapToNonSelected];
}
但是在 swapSingleTileBackToNotSelected 触发时发现,_letterTile 为零。我研究了将信息传递到块中,并尝试在 ^ 之后写入 (Lettertile *letterTile),但我无法让它工作。
然后我看着简单地调用SKAction的performSelector onTarget,但我找不到任何地方如何调用不在“self”中的方法,更不用说如何解释普通Objective-C合并但似乎缺少的“withObject”从 Sprite Kit 中丢失。
有人可以告诉我应该如何使用 SKAction 来调用我在 TileSelectionManager 对象中拥有的这个方法并传入我的 _letterTile 吗?
谢谢!!
编辑**
我在 for 循环中访问 _letterTile