簡體   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