我正在使用cocos2d-x为IOS开发游戏。现在,我正在尝试使用Admob实施插页式广告。我想让它们在我的GameOver场景中弹出(就像我在其他游戏中看到的那样)。
有谁知道怎么做?
这就是我的GameOver场景的样子:
//
// IntroScene.m
// Cocos2DSimpleGame
//
// Created by Martin Walsh on 18/01/2014.
// Copyright Razeware LLC 2014. All rights reserved.
//
// -----------------------------------------------------------------------
// Import the interfaces
#import "GameOverClass.h"
#import "HelloWorldScene.h"
#import "AppDelegate.h"
#import "GADInterstitial.h"
#import "GADInterstitialDelegate.h"
// -----------------------------------------------------------------------
#pragma mark - IntroScene
// -----------------------------------------------------------------------
@implementation GameOverClass
int score1;
Boolean newhighscore;
// -----------------------------------------------------------------------
#pragma mark - Create & Destroy
// -----------------------------------------------------------------------
+ (GameOverClass *)scene
{
return [[self alloc] init];
}
// -----------------------------------------------------------------------
- (id)init
{
// Apple recommend assigning self with supers return value
self = [super init];
if (!self) return(nil);
CCNodeColor *background = [CCNodeColor nodeWithColor:[CCColor colorWithRed:0.1f green:0.7f blue:1.0f alpha:1.0f]];
[self addChild:background];
CCSprite *logo = [CCSprite spriteWithImageNamed:@"gameover.png"];
logo.position = CGPointMake(self.contentSize.width/2, self.contentSize.height - logo.contentSize.height);
logo.zOrder = 10;
[self addChild:logo];
/*
CCSprite *high = [CCSprite spriteWithImageNamed:@"highscore.png"];
high.position = ccp(0.5f, 0.75f);
high.zOrder = 10;
[self addChild:high];
*/
// Spinning scene button
CCButton *spinningButton = [CCButton buttonWithTitle:@"[ Try Again ]" fontName:@"Verdana-Bold" fontSize:18.0f];
spinningButton.positionType = CCPositionTypeNormalized;
spinningButton.position = ccp(0.5f, 0.35f);
spinningButton.zOrder = 10;
[spinningButton setLabelColor:[CCColor colorWithRed:1.0f green:0.7f blue:0.0f alpha:1.0f] forState:CCControlStateNormal];
[spinningButton setTarget:self selector:@selector(onSpinningClicked:)];
[self addChild:spinningButton];
答案 0 :(得分:0)
试试这个:
@import GoogleMobileAds;
@interface YourClass () <GADInterstitialDelegate>
@property(nonatomic, strong) GADInterstitial *interstitial;
@end
@implementation YourClass
-(id) init
{
if( (self = [super init])) {
self.interstitial = [self createAndLoadInterstitial];
//add your code here
}
}
- (GADInterstitial *)createAndLoadInterstitial {
GADInterstitial *interstitial =
[[GADInterstitial alloc] initWithAdUnitID:@"YOUR_ADMOB_UNIT_ID"];
interstitial.delegate = self;
[interstitial loadRequest:[GADRequest request]];
return interstitial;
}
#pragma mark - GADInterstitialDelegate
- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial {
self.interstitial = [self createAndLoadInterstitial];
}
- (void)showInterstitial
{
if (self.interstitial.isReady) {
[self.interstitial presentFromRootViewController:[CCDirector sharedDirector]];
} else {
NSLog(@"Ad wasn't ready");
}
}
答案 1 :(得分:-2)
Cocos2d-x有一个Admob插件,但该插件的插页式部分不完整,这意味着您必须使用Objective-C编写一些接口代码。
如果您还没有解决问题,请查看PluginAdmob。这将是一个很好的起点。