Cocos Creator微信小游戏添加banner广告

学了小游戏开发也有几个月了,这边写一下这几个月以来遇到的坑。
首先是添加banner广告
看过很多个写微信广告的写法。感觉其实是在误导萌新,这是一般别人的例子

let winSize = wx.getSystemInfoSync();
        
console.log(winSize);
let bannerHeight = 80;
let bannerWidth = 300;

this._bannerAd = wx.createBannerAd({
	adUnitId: '************', //填写广告id
	style: {
		left: (winSize.windowWidth-bannerWidth)/2,
		top: winSize.windowHeight - bannerHeight,
		width: bannerWidth,
	}
});
        this._bannerAd.show(); //banner 默认隐藏(hide) 要打开
        //微信缩放后得到banner的真实高度,从新设置banner的top 属性
        this._bannerAd.onResize(res => {
            this._bannerAd.style.top = winSize.windowHeight - this._bannerAd.style.realHeight;
         })

实际上,上述例子是一个中规中距的创建屏幕下方banner广告方法,但是对于萌新而言这套方法是需要改进的

例如我们创建广告this._bannerAd = wx.createBannerAd的时候,实际上我们最好是在创建一个common脚本然后在里面写一个bannerAd的参数并且赋值为null

export = {
    bannerAd : null,
    bannerAd2 : null,
    windowWidth : null,
    windowHeight : null,
}

我们先来说一下为什么有必要这样写
在我们加载广告的时候,并不是直接onload出来的,是需要等待一段的加载时间
因此,如果直接创建的话,你将会等一段时间才能看到广告,特别是你需要在需要的地方才显示【.show()】,或者在不需要的时候【.hide()】,而销毁广告也是可以直接使用的,不过并不推荐在使用destroy方法的时候之前一段时间才onload广告,会造成广告还未生成但是还没destroy导致后面广告会一直出现在屏幕上方永远消不掉了

在需要的地方引入这个脚本只要在需要的地方开头先写一个

var comm = require("./Common");

接下来是加载广告,一般可以写在loading界面的onload()事件里,代码如下

var comm = require("./Common");

onload(){
  if (typeof (wx) !== "undefined") {
           // 手机屏幕信息
            let winSize = wx.getSystemInfoSync({
                success(res) {
                	comm.windowWidth = res.windowWidth;
                	comm.windowHeight = res.windowHeight;
                }
            });
            console.log(comm.windowWidth,comm.windowHeight);
            // 广告1和2
            if(comm.bannerAd == null) {
                // 广告
                comm.bannerAd = window.wx.createBannerAd({
                    adUnitId: '**********************************',
                    style: {
                        left: comm.windowWidth/2 - 150,
                        top: comm.windowHeight - 90,
                        width:  300,
                    }
                })
                comm.bannerAd.onResize(()=>{
                    comm.bannerAd.style.left = comm.windowWidth/2 - 150 + 0.1;
                    comm.bannerAd.style.top = comm.windowHeight - comm.bannerAd.style.realHeight + 0.1;
                });
                comm.bannerAd.onError(function(res){
                    console.log(res);
                })
            }
     }
}

这里有几点要说明,微信的广告是固定的大小比例,最小300的宽,宽度确定高度,所以不需要去管高度
第二点,微信的广告位置是以左上角为坐标系的,因此在计算位置的时候需要进行相对应的判断,如上代码我是让他显示在屏幕之下,+0.1则是为了考虑到苹果机型的底边条

接下来在需要显示和隐藏的地方输入如下代码就可以了

comm.banner_1.show();
comm.banner_1.hide();
  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
### 回答1: Cocos Creator是一种基于JavaScript的游戏开发引擎,可用于开发简单的手机游戏应用程序,包括微信小游戏。目前,Cocos Creator平台上有120多套微信小游戏源代码可供游戏开发者使用,这些源代码包含了各种类型的游戏,如益智游戏、动作游戏、运动游戏、角色扮演游戏等等。这些源代码可大大加速游戏开发进程,并使游戏开发者能够专注于游戏的设计和创意。此外,通过Cocos Creator平台,游戏开发者可以使用丰富的可视化编辑工具和开发工具,轻松创建游戏精灵、动画和场景等元素,进而快速实现游戏的构建。总的来说,Cocos Creator平台上的120多套微信小游戏源代码为游戏开发者提供了可靠的资源和支持,使他们可以更快、更便捷地创建出高质量的微信小游戏,从而实现更大的商业成功。 ### 回答2: cocos creator是一款非常受欢迎的游戏开发引擎,其集成了丰富的功能和工具,可以很方便地构建2D和3D游戏。微信小游戏则是目前非常流行的一种轻量级移动游戏,因为与微信平台无缝集成,所以被越来越多的开发者采用。 在这样的背景下,120多套cocos creator微信小游戏源码的出现,可以让开发者更加便捷地开展游戏开发工作。这些源码涵盖了各种类型的游戏,如飞行射击、跑酷、休闲益智、卡牌战斗等等,开发者可以根据自己的需要选择适合自己的源码进行二次开发与修改。 使用这些源码,不仅可以节省大量的开发时间和精力,而且还可以获得很好的学习机会,了解其他优秀游戏的设计思路和开发技巧,从而提高自己的开发水平。当然,开发者也可以将这些源码用于商业项目,加速产品的上线和推广。 总之,cocos creator微信小游戏120多套源码的出现,为广大的游戏开发者带来了极大的便利和启示,也让我们更加期待未来cocos creator微信小游戏的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值