gpt4 book ai didi

swift - 裁剪 SKReferenceNode

转载 作者:行者123 更新时间:2023-11-28 08:09:14 26 4
gpt4 key购买 nike

我已经设置了一个 SKScene 用作 SKReferenceNode。雪橇是一个 SKSpriteNode,在引用节点场景中定义了一个自定义类,所有的狗都是雪橇 Sprite 的 child 。自定义类和使用引用节点都很好,我的问题是我无法“裁剪”场景以仅显示 N 条狗。就好像在将引用节点放入另一个场景后,该父场景忽略了引用节点的宽度/高度参数,只显示其中的所有内容。那么问题来了,这可能吗?或者 SKReferenceNodes 在父场景中使用时是否不遵守场景宽度和高度属性?

第一张图片是全景引用场景 (70x425)。第二张图片是当我以编程方式更改高度时框架应该的样子,如果我只想显示底部的 2 条狗。

enter image description here enter image description here

class SledTeam: SKSpriteNode {
var dogTeam = [Int]()
required init?(coder aDecoder: NSCoder) {
switch dogTeam.count {
case 7,8:
self.scene?.size.height = 425
break
case 5,6:
self.scene?.size.height = 335
break
case 3,4:
self.scene?.size.height = 260
break
case 1,2:
self.scene?.size.height = 190
break
default:
break
}
}
}

最佳答案

我的猜测是在您的 sks 引用文件中使用一个不可见的 sprite 节点,其大小包含所有节点。在调用这个不可见的“基础”节点并裁剪它之后。要获取不可见节点,您可以使用此扩展:

extension SKReferenceNode {
func getBasedChildNode () -> SKNode? {
if let child = self.children.first?.children.first {return child}
else {return nil}
}
}

其他详情见我的旧帖: Add SKReferenceNode/SKScene to another SKScene in SpriteKit

关于swift - 裁剪 SKReferenceNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44136014/

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