シーンが呼び出されるたびにランダムなテキストを表示する SKlabelNode を作成しようとしています。すべてを正しく行ったように感じますが、このシーンに入るとゲームがクラッシュし、EXC_ARITHMETIC で始まる緑色のエラーが返されます。私は自分自身に配列を教えていますが、私が何を間違えたのか分かりませんか?
.h
#import <SpriteKit/SpriteKit.h>
@interface EndScene : SKScene{
NSMutableArray *TextArray;
}
@end
.m
#import "EndScene.h"
#import "MyScene.h"
SKLabelNode *myLabel;
@implementation EndScene
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
self.scaleMode = SKSceneScaleModeAspectFill;
self.backgroundColor = [SKColor blackColor];
[self setupLabel];
[self RandomText];
[self loadText];
}
return self;
}
- (void) RandomText
{
int randomNumber = arc4random() % TextArray.count;
myLabel.text = [NSString stringWithFormat:@"%@",[TextArray objectAtIndex:randomNumber]];
}
- (void) loadText
{
TextArray = [[NSMutableArray alloc] init];
[TextArray addObject:@"End Of Game Text"];
[TextArray addObject:@"End Text 2"];
}
-(void) setupLabel{
myLabel = [SKLabelNode labelNodeWithFontNamed:@"Academy Engraved LET"];
myLabel.fontSize = 44;
myLabel.zPosition = 0;
myLabel.position = CGPointMake(390, 660);
[self addChild:myLabel];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
SKScene *myScene = [[MyScene alloc]initWithSize:self.size];
SKTransition *doors = [SKTransition crossFadeWithDuration:5];
[self.view presentScene:myScene transition:doors];
}
@end