[英]EXEC_BAD_ACCESS on SKAction
我正在开发Spritekit游戏。
当我触摸节点尝试运行操作时,我收到EXEC_BAD_ACCESS
异常
该功能触手可及
-(void)selectNodeForTouch:(CGPoint)location {
SKNode *touchedNode = (SKNode *)[self nodeAtPoint:location];
NSLog(@"touched : %@",touchedNode.name);
if([[touchedNode name] isEqualToString:@"piece"]){
Piece *piece = (Piece *)[self nodeAtPoint:location];
if ([piece isRotated])
[piece rotateToFront];
else
[piece rotateToBack];
}
}
对象Piece方法rotateBack
:
-(void)rotateToBack{
SKAction *rotationToBack = [SKAction animateWithTextures:[self animationFrames] timePerFrame:0.11];
[self runAction:rotationToBack withKey:@"rotation-to-back"];
[self setRotated:YES];
};
[self animationFrames]是一个NSMutable数组,可通过以下方式转换为NSArray
[self setAnimationFrames:[NSArray arrayWithArray:frames]];
最后的帧是一个包含一些SKTextures
的NSMutableArray
执行过程在动画执行时中断。
在Piece
类中
更改此行:
NSString *imageName = [NSString stringWithFormat:@"%@-1%@",[self baseImageName],imageResolution];
至
NSString *imageName = [NSString stringWithFormat:@"%@-1",[self baseImageName]];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.