Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #import "GameOverScene.h"
- #import "NHRScore.h"
- #import "MyScene.h"
- #import "MainMenuScene.h"
- #import "NHRShop.h"
- @interface GameOverScene()
- @property CGRect playButtonRect;
- @property CGRect menuButtonRect;
- /*{
- CGRect playButtonRect;
- CGRect menuButtonRect;
- } */
- @end
- @implementation GameOverScene
- @synthesize playButtonRect;
- @synthesize menuButtonRect;
- -(id)initWithSize:(CGSize)size {
- if (self = [super initWithSize:size]) {
- /* Setup your scene here */
- //This label shows the score number
- SKLabelNode *scoreLabel = [SKLabelNode labelNodeWithFontNamed:@"Helvetica"];
- //Get an instance of my custom scoring storage class -- this has the data for the score from the previous game
- NHRScore *scoreController = [[NHRScore alloc]init];
- //The simple int-to-NSString converter.
- int scoreForLabel = [scoreController getUserScore];
- NSString *scoreStringForLabel = [NSString stringWithFormat:@"%d",scoreForLabel];
- scoreLabel.text = scoreStringForLabel;
- scoreLabel.fontColor = [UIColor colorWithRed:0.25 green:0.25 blue:0.85 alpha:0.75];
- //The order the labels are in here DOES NOT match the order they are laid out in the scene.
- //Use the label text for guidance.
- //set the position of the label
- scoreLabel.position = CGPointMake(self.frame.size.width/2,self.frame.size.height-125);
- //and render it
- [self addChild:scoreLabel];
- //This label shows "Score:"
- SKLabelNode *prettyScoreLabel = [SKLabelNode labelNodeWithFontNamed:@"Helvetica"];
- prettyScoreLabel.text = @"Score:";
- prettyScoreLabel.position = CGPointMake(self.frame.size.width/2, self.frame.size.height-95);
- prettyScoreLabel.fontColor = [UIColor colorWithRed:0.25 green:0.25 blue:0.85 alpha:0.75];
- [self addChild:prettyScoreLabel];
- //idk why the background color is all the way down here...
- //This makes a purdy purple color similar to Xcodes purple code highlighting
- //self.backgroundColor = [SKColor colorWithRed:0.5 green:0.0 blue:0.7 alpha:1.0];
- //We actually want the BG white:
- self.backgroundColor = [SKColor colorWithWhite:1.0 alpha:1.0];
- //The game over label
- //we need to find a new place for this, the iAd covers it
- SKLabelNode *gameOverLabel = [SKLabelNode labelNodeWithFontNamed:@"Helvetica"];
- gameOverLabel.text = @"Game over!";
- gameOverLabel.position = CGPointMake(self.frame.size.width/2, prettyScoreLabel.position.y + 45);
- gameOverLabel.fontColor = [UIColor colorWithRed:0.25 green:0.25 blue:0.85 alpha:0.75];
- [self addChild:gameOverLabel];
- //High score label, look at the normal score labels comments for more info
- SKLabelNode *highScoreLabel = [SKLabelNode labelNodeWithFontNamed:@"Helvetica"];
- int highScore = [scoreController getHighScore];
- NSString *highScoreForLabel = [NSString stringWithFormat:@"%d", highScore];
- highScoreLabel.text = highScoreForLabel;
- highScoreLabel.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2 + 15);
- highScoreLabel.fontColor = [UIColor colorWithRed:0.25 green:0.25 blue:0.85 alpha:0.75];
- [self addChild:highScoreLabel];
- //shows "high score:"
- SKLabelNode *prettyHighScoreLabel = [SKLabelNode labelNodeWithFontNamed:@"Helvetica"];
- prettyHighScoreLabel.text = @"High score:";
- prettyHighScoreLabel.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2 + 45);
- prettyHighScoreLabel.fontColor = [UIColor colorWithRed:0.25 green:0.25 blue:0.85 alpha:0.75];
- [self addChild:prettyHighScoreLabel];
- SKSpriteNode *playButton = [SKSpriteNode spriteNodeWithImageNamed:@"newPlayButton"];
- playButton.position = CGPointMake(self.frame.size.width/3,self.frame.size.height/6);
- playButtonRect = playButton.frame;
- [self addChild:playButton];
- SKSpriteNode *menuButton = [SKSpriteNode spriteNodeWithImageNamed:@"menuButton"];
- menuButton.position = CGPointMake(self.frame.size.width/3 + self.frame.size.width/3, self.frame.size.height/6);
- menuButtonRect = menuButton.frame;
- [self addChild:menuButton];
- //Shows the amount of money you have
- NSInteger totalCurrency = [scoreController getTotalCurrency];
- NSString *toDisplayForCurrency = [NSString stringWithFormat:@"%ld",(long)totalCurrency];
- SKLabelNode *totalCurrencyLabel = [SKLabelNode labelNodeWithFontNamed:@"Helvetica"];
- totalCurrencyLabel.text = toDisplayForCurrency;
- totalCurrencyLabel.fontColor = [SKColor colorWithRed:0.25 green:0.25 blue:0.85 alpha:0.75];
- totalCurrencyLabel.position = CGPointMake(self.frame.size.width/2, playButton.position.y + 100);
- [self addChild:totalCurrencyLabel];
- //Shows "Money:"
- SKLabelNode *moneyLabel = [SKLabelNode labelNodeWithFontNamed:@"Helvetica"];
- moneyLabel.text = @"Money:";
- moneyLabel.fontColor = [SKColor colorWithRed:0.25 green:0.25 blue:0.85 alpha:0.75];
- moneyLabel.position = CGPointMake(self.frame.size.width/2, totalCurrencyLabel.position.y + 35);
- [self addChild:moneyLabel];
- }
- return self;
- }
- -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
- /* Called when a touch begins */
- for (UITouch *touch in touches) {
- CGPoint location = [touch locationInNode:self];
- @autoreleasepool {
- if(CGRectContainsPoint(playButtonRect, location)) {
- //Go back to gameplay scene
- SKTransition *reveal = [SKTransition revealWithDirection:SKTransitionDirectionUp duration:1.5];
- MyScene *newScene = [[MyScene alloc] initWithSize: CGSizeMake(self.frame.size.width,self.frame.size.height)];
- [self.scene.view presentScene: newScene transition:reveal];
- } else if(CGRectContainsPoint(menuButtonRect, location)) {
- SKTransition *reveal = [SKTransition revealWithDirection:SKTransitionDirectionUp duration:1.5];
- MainMenuScene *newScene = [[MainMenuScene alloc] initWithSize:CGSizeMake(self.frame.size.width, self.frame.size.height)];
- [self.scene.view presentScene:newScene transition:reveal];
- } }
- }
- }
- @end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement