我需要一种方法来创建更多硬币,并在玩家收集硬币或硬币进入屏幕时将其删除

奈恩·克罗斯(Naiem Cross)

我需要一种方法来创建更多硬币,并在玩家收集硬币或硬币进入屏幕时将其删除。游戏运行正常,但是当我尝试添加一个NSTimer类似的游戏时

var timer = NSTimer.scheduledTimerWithTimeInterval(2, target: self, selector: Selector("genrateRandomPositions"), userInfo: nil, repeats: true)

游戏崩溃并给我一个错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attemped to add a SKNode which already has a parent: <SKSpriteNode> name:'(null)' texture:[<SKTexture> 'coin' (50 x 68)] position:{1024, 350} size:{50, 68} rotation:0.00'

我知道这是什么意思,同一父节点有多个节点,但是我需要知道是否有一种方法可以代替NSTimer

我的addCoin函数:

   func addcoins(positionY:CGFloat){

             self.coinTexture = SKTexture(imageNamed: "coin")
         self.coin = SKSpriteNode(imageNamed: "coin")
    self.coin.position = CGPointMake(CGRectGetMaxX(self.frame), positionY)
    self.coin.physicsBody = SKPhysicsBody(circleOfRadius: self.coin.size.width / 2 )
    self.coin.physicsBody?.dynamic = false
    self.coin.physicsBody?.categoryBitMask = coinCategory
    self.coin.physicsBody?.contactTestBitMask = helicopterCategory
    self.coin.physicsBody?.collisionBitMask = NoneCategory
    self.coin.physicsBody?.usesPreciseCollisionDetection = true
    var moveCoin = SKAction.moveByX(-bgTexture.size().width, y: 0, duration: bgSpeed)
    self.addChild(self.coin)
    self.coin.runAction(moveCoin)
}
肯德尔

每次制作新硬币时,都需要创建一个新节点,并且应将SKAction添加到场景中之后再运行它。最后,该错误表示您已将节点添加到父节点,而该节点已具有父节点。该错误不会意味着有一个父多个节点,因为这不应该抛出一个错误。这是一些更新的代码:

func addcoins(positionY:CGFloat){

var coinTexture = SKTexture(imageNamed: "coin")
var newCoin = SKSpriteNode(imageNamed: "coin")
newCoin.position = CGPointMake(CGRectGetMaxX(self.frame), positionY)
newCoin.physicsBody = SKPhysicsBody(circleOfRadius: coin.size.width / 2 )
newCoin.physicsBody?.dynamic = false
newCoin.physicsBody?.categoryBitMask = coinCategory
newCoin.physicsBody?.contactTestBitMask = helicopterCategory
newCoin.physicsBody?.collisionBitMask = NoneCategory
newCoin.physicsBody?.usesPreciseCollisionDetection = true
var moveCoin = SKAction.moveByX(-bgTexture.size().width, y: 0, duration: bgSpeed)
addChild(coin)
coin.runAction(moveCoin)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种方法可以管理ODOO中一种硬币的两种货币汇率?

来自分类Dev

我有一个无缘无故显示的 php 错误,我想找到一种方法来修复错误或将其删除

来自分类Dev

我试图找到一种方法来防止通过python重复进入sql表

来自分类Dev

Java,需要帮助来创建一种方法来选择数组中的特定元素

来自分类Dev

Java,需要帮助来创建一种方法来选择数组中的特定元素

来自分类Dev

我需要一种方法来执行特定功能,当我在javascript中按下快进键或后退键时

来自分类Dev

我无法让 Ruby Packer 工作,需要一种方法来打包 Ruby 应用程序

来自分类Dev

我需要一种优雅的方法来标准化标量(一种)

来自分类Dev

创建硬币计算

来自分类Dev

创建硬币计算

来自分类Dev

需要一种方法来搜索丢失的文件

来自分类Dev

需要一种方法来添加从 MySQL 查询中获得的结果

来自分类Dev

macOS上是否可以采取一种方法来捕获区域的屏幕截图并将其粘贴到单个操作中?

来自分类Dev

如果玩家在掷硬币时输赢,则输出错误

来自分类Dev

如果玩家在掷硬币时输赢,则输出错误

来自分类Dev

为什么硬币只在玩家第一次加入游戏时才保存?

来自分类Dev

硬币变化:贪婪的方法

来自分类Dev

创建一种方法来停止JTable中出现的许多重复值

来自分类Dev

使用一种方法来创建枚举值

来自分类Dev

创建一种方法来更改C#中的Button效果

来自分类Dev

无法创建一种方法来反转数组列表

来自分类Dev

尝试创建一种方法来检查数组是否仅包含1或4

来自分类Dev

创建一种方法来计算C#中的线性插值

来自分类Dev

无法创建一种方法来反转数组列表

来自分类Dev

创建一种方法来更改字符串变量的值

来自分类Dev

如何创建一种方法来管理Java中的所有子类

来自分类Dev

创建一种方法来停止JTable中出现的许多重复值

来自分类Dev

Rails:创建一种方法来动态保存到数据库列

来自分类Dev

我如何编写一种方法来检查字符是否与参数匹配?

Related 相关文章

  1. 1

    有没有一种方法可以管理ODOO中一种硬币的两种货币汇率?

  2. 2

    我有一个无缘无故显示的 php 错误,我想找到一种方法来修复错误或将其删除

  3. 3

    我试图找到一种方法来防止通过python重复进入sql表

  4. 4

    Java,需要帮助来创建一种方法来选择数组中的特定元素

  5. 5

    Java,需要帮助来创建一种方法来选择数组中的特定元素

  6. 6

    我需要一种方法来执行特定功能,当我在javascript中按下快进键或后退键时

  7. 7

    我无法让 Ruby Packer 工作,需要一种方法来打包 Ruby 应用程序

  8. 8

    我需要一种优雅的方法来标准化标量(一种)

  9. 9

    创建硬币计算

  10. 10

    创建硬币计算

  11. 11

    需要一种方法来搜索丢失的文件

  12. 12

    需要一种方法来添加从 MySQL 查询中获得的结果

  13. 13

    macOS上是否可以采取一种方法来捕获区域的屏幕截图并将其粘贴到单个操作中?

  14. 14

    如果玩家在掷硬币时输赢,则输出错误

  15. 15

    如果玩家在掷硬币时输赢,则输出错误

  16. 16

    为什么硬币只在玩家第一次加入游戏时才保存?

  17. 17

    硬币变化:贪婪的方法

  18. 18

    创建一种方法来停止JTable中出现的许多重复值

  19. 19

    使用一种方法来创建枚举值

  20. 20

    创建一种方法来更改C#中的Button效果

  21. 21

    无法创建一种方法来反转数组列表

  22. 22

    尝试创建一种方法来检查数组是否仅包含1或4

  23. 23

    创建一种方法来计算C#中的线性插值

  24. 24

    无法创建一种方法来反转数组列表

  25. 25

    创建一种方法来更改字符串变量的值

  26. 26

    如何创建一种方法来管理Java中的所有子类

  27. 27

    创建一种方法来停止JTable中出现的许多重复值

  28. 28

    Rails:创建一种方法来动态保存到数据库列

  29. 29

    我如何编写一种方法来检查字符是否与参数匹配?

热门标签

归档