Създавам приложение с помощта на Spritekit, използвам UISwipeGestureRecognizer за прекарване на пръст между сцени.
Сега моето приложение ще има много сцени, базирани на един и същ код, и жестът за плъзгане работи добре, освен че след като добавя трета или четвърта сцена, получавам много забавяне при плъзгане.
Не съм сигурен дали е защото използвам твърде много сцени или защото всяка сцена използва фоново изображение.
Плъзгането работи, но страда от значително забавяне.
Само аз ли получавам този проблем? Някой намирал ли е решение за този вид забавяне?
Всяка помощ ще бъде оценена.
Ето пример за кода, използван за 1 сцена.
Благодаря ти
#import "Ep1Slide1.h"
#import "Ep1Slide2.h"
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
self.backgroundColor = [SKColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
CGImageRef backgroundCGImage = [UIImage imageNamed:@"backgroundImage1"].CGImage;
SKTexture *backgroundTexture = [SKTexture textureWithCGImage:backgroundCGImage];
SKSpriteNode *someNode = [SKSpriteNode spriteNodeWithTexture:backgroundTexture];
someNode.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
[someNode setScale:0.5f];
[self addChild:someNode];
}
return self;
}
- (void)didMoveToView:(SKView *)view{
UISwipeGestureRecognizer *leftSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action: @selector(leftFlip:)];
[leftSwipe setDirection:UISwipeGestureRecognizerDirectionLeft];
[self.view addGestureRecognizer:leftSwipe];
}
- (void)leftFlip:(id)sender{
SKView * skView = (SKView *)self.view;
SKScene * scene = [Ep1Slide2 sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:scene transition:[SKTransition pushWithDirection:SKTransitionDirectionLeft duration:1.2]];
}