use*_*196 3 objective-c ios sprite-kit
我正在制作一个Sprite-Kit游戏,我有一个显示所有级别的菜单.我创建了一个锁定的图像,我希望在锁定的级别上显示,下面是代码:
SKSpriteNode *locked = [SKSpriteNode spriteNodeWithImageNamed:@"Locked.png"];
locked.position = CGPointMake(0, 0);
locked.zPosition = 2.0;
locked.size = CGSizeMake(20, 20);
Run Code Online (Sandbox Code Playgroud)
然后我想在所有级别上显示它,直到它们被解锁.这是代码:
SKSpriteNode *level2 = [SKSpriteNode spriteNodeWithColor:[SKColor redColor] size:CGSizeMake(40, 40)];
level2.position = CGPointMake(CGRectGetMidX(self.frame)-75, CGRectGetMidY(self.frame)+100);
[level2 addChild:locked];
[_levels addObject:level2];
[self addChild:level2];
Run Code Online (Sandbox Code Playgroud)
但是当我试图在第三级显示它时:
SKSpriteNode *level3 = [SKSpriteNode spriteNodeWithColor:[SKColor redColor] size:CGSizeMake(40, 40)];
level3.position = CGPointMake(CGRectGetMidX(self.frame)-30, CGRectGetMidY(self.frame)+100);
[level3 addChild:locked];
[_levels addObject:level3];
[self addChild:level3];
Run Code Online (Sandbox Code Playgroud)
我遇到了一个错误,因为已经锁定了父母.
孩子可以有多个父母吗? 如果是这样我哪里错了?
A SKNode只能有一个父母.(parent毕竟,它的方法只能返回一件事.)
它也符合NSCopying,这意味着如果您需要多个方法,则可以复制节点copy.所以,你可能会尝试类似的东西[level3 addChild:[locked copy]];
| 归档时间: |
|
| 查看次数: |
451 次 |
| 最近记录: |