- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,我已将 iAds 添加到我的应用程序中,而且我的操作非常简单。通过将 iAds 导入 ViewController.h 并将以下代码放入 ViewController.m 文件:
self.canDisplayBannerAds = YES;
但是,当我加载加载屏幕时,这会起作用。所有图像和 Sprite 都变短了。
有什么方法可以将添加叠加在 SKScene 之上?所以这不会影响下面的元素 - 所以它会停止挤压?
另外,有没有办法只在某些 SKScenes 中或当 BOOL 从 YES 更改为 NO 时才运行横幅广告?
已更新
我项目中的代码:
#import "XYZViewController.h"
#import "XYZMenuScene.h"
#import <iAd/iAd.h>
@implementation XYZViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Configure the view.
SKView * skView = (SKView *)self.view;
skView.showsFPS = YES;
skView.showsNodeCount = YES;
// Create and configure the scene.
SKScene * scene = [XYZMenuScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
//iAds Enabled
self.canDisplayBannerAds = YES;
// Present the scene.
[skView presentScene:scene];
}
这就是我在 iAd 方面的全部内容。它使整个场景向上推,为广告横幅腾出空间。我希望它只是在场景上方而不是插入任何东西。所以它覆盖,而不是推送。
最佳答案
要覆盖,您可以将横幅的 Z 位置设置为高于其余内容,默认情况下为 0。
例如:
banner.layer.zPosition=2;
但我相信 iAd 框架内置了您可以重写的方法,以控制广告何时必须显示以及何时不应该显示,并为您提供更多控制权。当广告可用时调用特定方法,就像你说的那样,你让广告仅在 bool 值为 1 或 0 时出现。
例如:
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
if(showADS==1)
{
if (!self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOn" context:NULL];
// Assumes the banner view is just off the bottom of the screen.
banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height);
[UIView commitAnimations];
self.bannerIsVisible = YES;
}
}
else
{NSlog(@"No ads");}
}
查看苹果的相关文档,它们真的很有帮助 https://developer.apple.com/library/ios/documentation/userexperience/Conceptual/iAd_Guide/WorkingwithBannerViews/WorkingwithBannerViews.html
但是让我们举一个完整的例子。横幅实例仅在您的 iAd 方法中可用,在它们之外不可用。在您看来确实加载了方法:
- (void)viewDidLoad
{
self.canDisplayBannerAds=YES;
}
该方法在广告加载时调用,在该方法中指定广告的位置
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
banner.layer.zPosition=2;
/*do all the additional like checking is the boolean is 1 or 0 etc.*/
}
如果您正在使用 iAd 和 sprite kit,则需要从场景类调用 View Controller 中的方法来完成所有广告工作。
假设您的 View Controller 中有一个名为 checkAD 的方法,用于检查广告是否应显示等。
您可以使用此代码从场景类中调用此方法
if([self.delegate respondsToSelector:@selector(checkAD)]){
[self.delegate checkAD];
}
关于ios - 如何阻止 iAds 在 xcode 中扭曲 SKScene?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24906531/
是否可以在我们使用 SpriteKit 时获得的标准全屏场景中正确呈现一个小场景?由于 SKScene 本质上是一个 UIView,应该可以吗? 最佳答案 没有。你不能在一个场景中有两个场景。场景类似
我试图让这个 SKScene 在游戏结束时出现在场景的中间,这样之前的场景在背景中仍然可见(类似于 flappy bird 的结局)。这是我希望它如何显示的图像: 到目前为止,这是我编写的代码: 在游
我目前正在暂停一个包含游戏玩法的 SKScene,并使用 self.view?.presentScene() 呈现另一个包含其上方菜单的 SKScene。 菜单场景的背景是透明的,在过渡过程中,我可以
在我的主 UIViewController 中,我定义了两个 SKScenes。我只想首先呈现 gameScene,然后在 gameScene 中的 Action 触发(按下暂停按钮)后呈现 uiSc
是的,我知道你在想什么......但这不是重复...... 我有 2 个场景,gameScene 和 menuScene。我想将 menuScene 覆盖在 gameScene 上。我知道你不能一次呈
如果你们有任何问题(也许我没有提供足够的信息),我很乐意展示更多我所拥有的内容,非常感谢 所以我的游戏场景中有条件来检查 x 或 y 是否获胜,并且它应该使用这段代码将您带到另一个场景: let ga
我试图让玩家在游戏结束时通过短信分享他们的分数。 我已将框架导入到我的项目中。在我的 viewController.h 文件中导入。 这是我的 viewController.h 文件 #import
我有一个非常具体的问题。我曾经使用默认代码从 View Controller 呈现我的游戏场景。但是,我添加了另一个 SKScene,现在使用以下代码展示我的游戏场景: //In an SKScene
我有一个 View Controller ,它有三个 skscenes 作为 child 。 当我从一个转换到另一个时,旧的 skscene 不会被释放。 我希望它被释放,就好像它从未存在过一样。 例
在 SKScene 上运行 SKTransition 会破坏原始 SKScene 吗? 例如: SKTransition *reveal = [SKTransition revealWithDire
所以我在游戏中加入了 3 个不同的场景:MenuScene、GameScene 和 GameOverScene。 我想知道如何从 GameOverScene 中获取位于 GameScene 中的 sc
我想在我的主要 GameScene 中添加一个 SKScene。 SKReferenceNode 似乎是一个很好的解决方案。 我有:- GameScene.sks(主场景)- Countdown.sk
我已经为此苦苦挣扎了好几天,由于某种原因,我的 SKScene 没有正确释放,这会导致有限的内存增长,因为每次我退出并进入一个场景时,内存都会跳起来。这意味着在说 10 轮游戏后,应用程序崩溃。据我所
为什么我在 SKScene 中看不到文字?这是在 SKScene 中使用 UIScrollView 的正确方法吗? -(id)initWithSize:(CGSize)size { if (s
我正在尝试传递 SKTexture 的预加载数组s 来自我的 SpriteKit 场景的 UIViewController当它初始化时进入场景。 但是,我似乎无法自定义 SKScene 的初始化方法。
我如何获得场景的边界? 我正在测试演示,并以这种方式初始化场景: GameScene *scene = [GameScene unarchiveFromFile:@"GameScene"]; scen
有没有办法让 SKScene 有圆角?我知道您可以使用 SKCropNode 制作圆角矩形,但我不确定如何在 SKScene 中执行此操作。我的 ViewController 像 Apple 默认模板
似乎在 SKScene 中制作圆形的唯一方法是上传圆形图像或使用 SKShapeNodes。 如果我们想让用户从地址簿或照片库导入图片并将这些图片变成圆形(而不是矩形)以添加到 SKScene,该怎么
我有一个粒子,通过 SKScene 添加到 UIViewController 中。以下是我的 SKScene 代码: class MyScene : SKScene { private var
我正在 Xcode 中使用 Swift3 编写程序。我在我的程序中使用 SpriteKit 和 SKScene。如您所知,gamescene.sks 中有一个始终运行的预定义更新函数(即使 View
我是一名优秀的程序员,十分优秀!