首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sprite Kit应用程序在SKCAction上崩溃::wasRemovedFromTarget

Sprite Kit应用程序在SKCAction上崩溃::wasRemovedFromTarget
EN

Stack Overflow用户
提问于 2014-11-26 19:25:42
回答 1查看 63关注 0票数 0

我已经在我的设备上对我的应用程序进行了彻底的测试,没有崩溃,游戏运行良好。然而,在我的朋友设备和其他一些,它是崩溃在同一点。在我的朋友设备上运行这个应用程序之后,我得到了一个异常: EXC_BAD_ACCESS,控制台中没有错误消息。我的呼叫堆栈是我附在下面的屏幕截图:

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

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

我创建了一个SKAction来进行搜索。这个动作在屏幕上拍摄剃须刀,让你躲开它。好像总是把2-3把剃须刀都撞到..。

SKAction创建:

代码语言:javascript
复制
 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]];

射击狂人:

代码语言:javascript
复制
 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上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-26 20:19:57

解决了。问题是:

代码语言:javascript
复制
[self runAction:[SKAction playSoundFileNamed:@"razor-sound.wav" waitForCompletion:NO] withKey:@"RazorSound"];

它同时运行多个,所以在我删除了“withKey”之后,所有的操作都非常完美。一定是iOS 7中的一个奇怪的错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27157318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档