ios – 当我在层次结构中添加额外的SKNode子项时,SKCropNode失败

ios – 当我在层次结构中添加额外的SKNode子项时,SKCropNode失败,第1张

概述更新:看起来iOS 10已修复此问题.我升级到 Swift 3和Xcode 8,一切都按预期工作. 我现在已经遇到过这个问题了几次,我不知道它是否是SKCropNode中的一个错误,或者我只是在滥用它.也许有一些文件我不知道为什么会发生这种情况? 我有一个100×100矩形形状的裁剪节点作为蒙版.如果我在其中放置一个蓝色圆圈,它会被正确裁剪. // Create a crope node with 更新:看起来iOS 10已修复此问题.我升级到 Swift 3和Xcode 8,一切都按预期工作.

我现在已经遇到过这个问题了几次,我不知道它是否是SKCropNode中的一个错误,或者我只是在滥用它.也许有一些文件我不知道为什么会发生这种情况?

我有一个100×100矩形形状的裁剪节点作为蒙版.如果我在其中放置一个蓝色圆圈,它会被正确裁剪.

// Create a crope node with a small square.let cropNode = SKCropNode()let cropNodeMask = SKShapeNode(rect: CGRect(x: 0,y: 0,wIDth: 100,height: 100))cropNodeMask.fillcolor = UIcolor.whitecolor()cropNode.maskNode = cropNodeMaskself.addChild(cropNode)// Create a blue circle and put it in the crop node.let blueCircle = SKShapeNode(circleOfRadius: 110)blueCircle.fillcolor = UIcolor.bluecolor()blueCircle.strokecolor = UIcolor.clearcolor()cropNode.addChild(blueCircle)

现在,当我将同一个圆放在一个空的SKNode中并将该容器放在同一个裁剪节点内时,裁剪失败.

// Create a crope node with a small square.let cropNode = SKCropNode()let cropNodeMask = SKShapeNode(rect: CGRect(x: 0,height: 100))cropNodeMask.fillcolor = UIcolor.whitecolor()cropNode.maskNode = cropNodeMaskself.addChild(cropNode)// Create a container to hold the circle.let container = SKNode()cropNode.addChild(container)// Create a blue circle and put it in the container.let blueCircle = SKShapeNode(circleOfRadius: 110)blueCircle.fillcolor = UIcolor.bluecolor()blueCircle.strokecolor = UIcolor.clearcolor()container.addChild(blueCircle)

但是同一容器中的一个精灵似乎被裁剪得很好.

// Create a crope node with a small square.let cropNode = SKCropNode()let cropNodeMask = SKShapeNode(rect: CGRect(x: 0,height: 100))cropNodeMask.fillcolor = UIcolor.whitecolor()cropNode.maskNode = cropNodeMaskself.addChild(cropNode)// Create a container to hold the sprite.let container = SKNode()cropNode.addChild(container)// Create a spaceship and add it to the container.let spaceshipNode = SKSpriteNode(imagenamed: "Spaceship")spaceshipNode.anchorPoint = CGPointZerocontainer.addChild(spaceshipNode)

解决方法 SKShapeNode被窃听,最好不惜一切代价避免它.使用它来创建形状,然后将其转换为纹理以与SKSpriteNode一起使用 总结

以上是内存溢出为你收集整理的ios – 当我在层次结构中添加额外的SKNode子项时,SKCropNode失败全部内容,希望文章能够帮你解决ios – 当我在层次结构中添加额外的SKNode子项时,SKCropNode失败所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1067262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存