我正在开发一款iOS游戏,我希望小丑们能够在场景之外产生,然后逐渐减少。我想到的是将它们全部创建,并将它们分开360像素放在不可见的场景上。
像这样:
SKSpriteNode *clown = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:@"clown.png"] size:CGSizeMake(40, 40)];
RandomPosition = arc4random() %248;
RandomPosition = RandomPosition + 34;
clown.position = CGPointMake (RandomPosition, self.frame.size.height + 360);
clown.zPosition = 1.0;
clown.name = @"clown";
[self addChild:clown .png];
请注意,第一个小丑位于场景顶部360px处。我想为9个小丑做这个,所以第二个是场景上方720px,第三个1080px等等......但在我说到这一点之前,我注意到这个还没有工作。如果我将360设置为40,它可以工作,但没有高于此值?为什么是这样。如何修复此代码?有没有更有效的方式来做我想做的事情?
也许有一种方法可以用数组做到这一点?
继续滚动方法,任何人都需要它:
[self enumerateChildNodesWithName:@"clown" usingBlock:^(SKNode *node, BOOL *stop) {
SKSpriteNode *mercury = (SKSpriteNode *)node;
CGPoint debVelocity = CGPointMake(0, -DEB_VELOCITY);
CGPoint amtToMove = CGPointMultiplyScalar(debVelocity,_dt);
clown.position = CGPointAdd(amtToMove, clown.position);
if (clown.position.y > self.frame.size.height + 40) {
[clown removeFromParent];
}
}];
感谢。
答案 0 :(得分:2)
if (clown.position.y > self.frame.size.height + 40) {
[clown removeFromParent];