swift - 将子级添加到 SKCropNode 时应用程序冻结
问题描述
当我尝试将场景中存在的子项添加到cropNode 时,应用程序冻结。但是,如果我将此孩子添加为资产中的图像,它不会冻结。当我尝试加载该场景时,应用程序不响应点击。
我使用 Swift 5、SpriteKit 11 和 Xcode 10。
该代码冻结了应用程序:
self.screenApp1 = childNode(withName: "screenapp1") as? SKSpriteNode
let cropMask = SKSpriteNode(imageNamed: "crop")
let cropNode = SKCropNode()
cropNode.position = CGPoint(x: 0, y: 0)
cropNode.maskNode = cropMask
cropNode.zPosition = 4
let child = self.screenApp1
child.size = CGSize(width: 260, height: 346)
cropNode.addChild(child)
addChild(cropNode)
这不会:
let cropMask = SKSpriteNode(imageNamed: "crop")
let cropNode = SKCropNode()
cropNode.position = CGPoint(x: 0, y: 0)
cropNode.maskNode = cropMask
cropNode.zPosition = 4
let child = SKSpriteNode(imageNamed: "screenapp1")
child.size = CGSize(width: 260, height: 346)
cropNode.addChild(child)
addChild(cropNode)
解决方案
我修好了它。我只需要一行:
child.removeFromParent()
后
let child = self.screenApp1
它现在完美运行。
推荐阅读
- node.js - 为什么这些 if 语句不起作用,对我所说的任何内容的响应都是“嘿”,这应该是第一个 if 语句的响应
- php - 多维 PHP 值数组未正确显示
- c# - FedEx Rating API 在 Sandbox Postmen 环境中不起作用。错误为“禁止操作”
- node.js - 猫鼬将 ID 显示为仅零
- node.js - 从 mongodb 上的多个 dbs 查询
- python-3.x - 在 Python Pandas 中,如何使用 if/else 语句或类似语句组合包含字符串的两列?
- sql - Postgresql 连接表而不丢失记录
- python - Python中的多线程并行运行
- laravel - Laravel 测试嘲弄
- reactjs - 将属性设置为没有值的html标签