【问题标题】:Sprite Kit App Crash on SKCAction::wasRemovedFromTargetSKCAction::wasRemovedFromTarget 上的 Sprite Kit 应用程序崩溃
【发布时间】:2015-01-25 06:18:50
【问题描述】:

我已经在我的设备上彻底测试了我的应用程序,没有崩溃,游戏运行良好。但是,在我朋友的设备和其他一些设备上,它同时崩溃了。在我朋友的设备上运行该应用程序后,我收到此异常:EXC_BAD_ACCESS,控制台中没有错误消息。我的调用堆栈是我附在下面的屏幕截图:

为什么在一台设备上会发生这种情况,而在其他设备上却不会?也许是因为iOS版本不同,但我想解决这个问题。

另外,这是我正在运行的代码:

我创建了一个 SKAction 来重用。这个动作会在屏幕上射出剃刀让你躲避它。它似乎总是让 2-3 把剃须刀在..

SKAction 创建:

 CGFloat distanceToMoveArrow = self.frame.size.width + (_razorTexture.size.width*4);
SKAction* moveArrow = [SKAction moveByX:-distanceToMoveArrow y:0 duration:0.001 * distanceToMoveArrow];
SKAction* removeArrow = [SKAction removeFromParent];
_moveAndRemoveArrow = [SKAction sequence:@[moveArrow, removeArrow]];

射击剃须刀:

 NSLog(@"Arrow Shot");

SKNode* razorGroup = [SKNode node];
razorGroup.position = CGPointMake( self.frame.size.width + _razorTexture.size.width, 0 );

SKSpriteNode* razor = [SKSpriteNode spriteNodeWithTexture:_razorTexture];
razor.position = CGPointMake( 0, _bird.position.y);
razor.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:_razorTexture.size.width/2];
razor.physicsBody.dynamic = NO;
razor.physicsBody.categoryBitMask = wallCategory;
razor.physicsBody.contactTestBitMask = birdCategory;
[razorGroup addChild:razor];

[razorGroup runAction:_moveAndRemoveArrow];
[_obstacles addChild:razorGroup];

[self runAction:[SKAction playSoundFileNamed:@"razor-sound.wav" waitForCompletion:NO] withKey:@"RazorSound"];

仅供参考 - 这似乎只发生在 iOS 7 上

【问题讨论】:

  • 您发布的屏幕截图不是调用堆栈/堆栈跟踪。请发布完整的符号化堆栈跟踪。
  • 对不起,你能帮帮我吗..我该怎么做? @AaronBrager
  • @AaronBrager 我已经更新了我的问题..这是你要找的吗?

标签: ios ios7 sprite-kit skphysicsbody skaction


【解决方案1】:

解决了。问题是:

[self runAction:[SKAction playSoundFileNamed:@"razor-sound.wav" waitForCompletion:NO] withKey:@"RazorSound"];

它同时运行多个,所以在我删除了“withKey”之后,它一切正常。一定是 iOS 7 中的一个奇怪的错误。

【讨论】:

  • 如果self 是你的场景,我不相信这实际上是一个错误。正在发生的事情是您试图在前一个完成之前使用相同的键一遍又一遍地运行一个动作。如果你想一下'[self actionForKey:@"RazorSound"];'如果您使用相同的键运行三个操作,它会返回,这是有道理的。如果self 不是你的场景,而是一个单独的 SKNode,那么忽略我所说的一切 =)
猜你喜欢
  • 1970-01-01
  • 2014-04-19
  • 1970-01-01
  • 1970-01-01
  • 2014-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多