Swift 使用SKSpriteNode&;纹理图谱
我有一个SpriteKit游戏,里面有弹跳的球。尽管使用了纹理图集(位于我的.xcassets文件夹中的.spriteatlas文件夹),但每个球都有两次抽签 一些事实:Swift 使用SKSpriteNode&;纹理图谱,swift,sprite-kit,skspritenode,Swift,Sprite Kit,Skspritenode,我有一个SpriteKit游戏,里面有弹跳的球。尽管使用了纹理图集(位于我的.xcassets文件夹中的.spriteatlas文件夹),但每个球都有两次抽签 一些事实: 球是SKSpriteNode 每个球都是一个具有子节点的父节点(覆盖球的反向旋转以提供照明/阴影的错觉)。我们说的是每个球有2个节点 球的纹理预先加载,并通过TextureName(:)存储在内存中 我已经设置了view.ignoresSiblingOrder=true 没有SpriteKit背景图像会使球在另一个节点上渲染;
TextureName(:)
存储在内存中zPosition
未设置-不在父级上,也不在子级上ignoresSiblingOrder
设置为true
,因此这一点也很可疑)
在这里,我不明白什么?为什么我的抽签数会随着更多的球被添加到场景中而急剧增加
谢谢大家!
更新:
如果我不将子节点添加到球中,则无论有多少球,球的绘制计数都是1。因此,这肯定是子节点的问题,而不是父节点的问题。我通过在父节点和子节点上将
zPosition
设置为相同的值来解决问题
parentNode.zPosition = 1.0
childNode.zPosition = 1.0
无论有多少个球,现在总共有2个球的平局