> -[MTLDebugRenderCommandEncoder setScissorRect:]:2028: failed assertion (rect.x(0) + rect.width(1080))(1080) must be <= 240
使用以下代码SKSpriteNode
向 a添加简单时出现此崩溃SKEffectNode
SKSpriteNode *warpSprite = [SKSpriteNode spriteNodeWithImageNamed:@"art.scnassets/symbol.png"];
SKEffectNode *entryEffectsNode = [[SKEffectNode alloc] init];
[entryEffectsNode addChild:warpSprite];
[self addChild:entryEffectsNode];
我没有在我的项目中的其他任何地方触及这些节点,当我更改精灵时,错误中的值(必须是 <= 值)会发生变化。
编辑:我已经用一个简单的精灵图像替换了spriteNodeWithColor:Size:
(<=value)总是精灵大小的两倍。还应该注意的是,SKScene 被用作 SceneKit 场景中的叠加层。
我使用以下代码创建了一个单独的 SKScene,但仍然导致相同的错误。
@implementation testScene
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
SKSpriteNode *testSprite = [SKSpriteNode spriteNodeWithColor:[SKColor purpleColor] size:CGSizeMake(100, 100)];
SKEffectNode *testEffect = [[SKEffectNode alloc] init];
[testEffect addChild:testSprite];
[self addChild:testEffect];
}
return self;
}
@end
编辑 2:我刚刚将上述场景作为默认 SceneKit 项目的叠加层进行了测试,它因相同的错误而崩溃。
编辑 3:我已经使用 swift 复制了这个。错误报告已向 Apple 提出。