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