Сцената не се променя в SpriteKit

Създадох игра и сега искам да добавя начален екран, в който искам да пусна видео и след това ще има екран с бутон за стартиране, търсих в интернет, но не можах да намеря начина направете го, опитах много неща, последният код е:

#import "FirstScreen.h"
#import "GameScene.h"
#import <MediaPlayer/MediaPlayer.h>

@implementation FirstScreen

-(id)initWithSize:(CGSize)size {
    if (self = [super initWithSize:size]) {
        NSURL *url =[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Intro" ofType:@"mp4"]];
        _player = [[MPMoviePlayerController alloc] initWithContentURL:url];
        _player.view.frame = CGRectMake(0,0, 1024, 768);
        [self.view addSubview:_player.view];

        _player.shouldAutoplay = YES;
        [_player prepareToPlay];

        NSString *nextSceneButton;
        nextSceneButton = @"Start";

        SKLabelNode *myLabel = [SKLabelNode labelNodeWithFontNamed:@"Chalkduster"];

        myLabel.text = nextSceneButton;
        myLabel.fontSize = 30;
        myLabel.fontColor = [SKColor blackColor];
        myLabel.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
        myLabel.name = @"Start";

        [self addChild:myLabel];
    }
    return self;
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    /* Called when a touch begins */
    UITouch *touch = [touches anyObject];
    CGPoint location = [touch locationInNode:self];
    SKNode *node = [self nodeAtPoint:location];

    if ([node.name isEqualToString:@"Start"]) {
        SKTransition *reveal = [SKTransition fadeWithDuration:3];

        GameScene *scene = [GameScene sceneWithSize:self.view.bounds.size];
        scene.scaleMode = SKSceneScaleModeAspectFill;
        [self.view presentScene:scene transition:reveal];
    }
}

@end

Приложението просто стартира и дава грешка SIGABRT. Можете ли да ми кажете как да го направя?


person user3921943    schedule 25.08.2015    source източник
comment
Моля, предоставете повече подробности за грешката (кога е причинена, покажете текста на грешката и т.н.)   -  person aramusss    schedule 25.08.2015
comment
Прекратяване на приложението поради неуловено изключение „NSInvalidArgumentException“, причина: „*** – [NSPlaceholderdata initWithContentOfFile: options:error:]: нулев аргумент за файл“   -  person user3921943    schedule 26.08.2015


Отговори (1)


Трябва да проверите няколко неща, за да сте сигурни, че всичко е наред:

  • Проверете дали всичко е наред с името на файла, потърсете интервали или правописни грешки и т.н.
  • Вижте какво връща pathForResource (отпечатайте го)
  • Вижте какво връща fileURLWithPath
  • Отидете на: Target -> Build Phases -> Copy Bundle Resources и добавете файла Intro.mp4 там. Ако този файл вече е добавен, изтрийте го, почистете вашия проект Project->Clean и го добавете отново. Изградете проект и го стартирайте.
person Whirlwind    schedule 26.08.2015
comment
да... това проработи за мен. Благодаря много @whirlwind - person user3921943; 26.08.2015