繁体   English   中英

SKAction上的EXEC_BAD_ACCESS

[英]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]];

最后的帧是一个包含一些SKTexturesNSMutableArray

执行过程在动画执行时中断。

Piece类中

更改此行:

NSString *imageName = [NSString stringWithFormat:@"%@-1%@",[self baseImageName],imageResolution];

NSString *imageName = [NSString stringWithFormat:@"%@-1",[self baseImageName]];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM