I have made a menu screen where the user needs to click the play button in order to proceed to the next scene. However, when I wrote the code and ran it, its not registering my touch on the button image, but its registering the touch when I click above the button on the game name label. enter code here-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]){
SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"menuscreen"];
background.position = CGPointMake(284, 160);
background.size = CGSizeMake(self.frame.size.width, self.frame.size.height);
[self addChild:background];
SKLabelNode *gameLabel = [SKLabelNode labelNodeWithFontNamed:@"AmericanTypewriter-Bold"];
gameLabel.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/1.35);
gameLabel.text = @"Bouncing Block";
gameLabel.name = @"gameLabel";
gameLabel.fontSize = 40;
[self addChild:gameLabel];
[self animateWithPulse:gameLabel]; // ** GETS RESET LABEL PULSING ** //
// ** PULSING TEXT ** //
SKAction *disappear = [SKAction fadeAlphaTo:0.0 duration:1];
SKAction *appear = [SKAction fadeAlphaTo:1.0 duration:2];
SKAction *pulse = [SKAction sequence:@[disappear, appear]];
[gameLabel runAction:[SKAction repeatActionForever:pulse]];
SKSpriteNode *menuHero = [SKSpriteNode spriteNodeWithImageNamed:@"blokmanamerica"];
menuHero.size = CGSizeMake(580, 310);
menuHero.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/4.4);
menuHero.name = @"hero";
[self addChild:menuHero];
// self.backgroundColor = [SKColor colorWithRed:0.171875 green:0.2421875 blue:0.3125 alpha:1.0];
SKSpriteNode *startButton = [SKSpriteNode spriteNodeWithImageNamed:@"startButton"];
startButton.position = CGPointMake(self.frame.size.width/1.85, self.frame.size.height/2); //1.85
startButton.size = CGSizeMake(300, 220);
startButton.name = @"startButton";
[self addChild:startButton];
SKSpriteNode *startButton2 = [SKSpriteNode spriteNodeWithImageNamed:@"settingsButton"];
startButton2.position = CGPointMake(self.frame.size.width/1.3, self.frame.size.height/2.5);
startButton2.size = CGSizeMake(300, 220);
startButton2.name = @"settingsButton";
[self addChild:startButton2];
SKSpriteNode *leaderButton = [SKSpriteNode spriteNodeWithImageNamed:@"leaderboardButton"];
leaderButton.position = CGPointMake(self.frame.size.width/3.12, self.frame.size.height/2.5);
leaderButton.size = CGSizeMake(300, 220);
leaderButton.name = @"leaderboardButton";
[self addChild:leaderButton];
}
return self;
}
enter code here-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; CGPoint location = [touch locationInNode:self];
SKNode *node = [self nodeAtPoint:location];
if ([node.name isEqualToString:@"startButton"]) {
SKTransition *transition = [SKTransition doorsOpenHorizontalWithDuration:1.0];
MyScene *game = [[MyScene alloc] initWithSize: CGSizeMake(self.size.width, self.size.height)];
[self.scene.view presentScene:game transition:transition];
}
}
Aucun commentaire:
Enregistrer un commentaire