egret接4399平台
推荐阅读:
- 我的CSDN
- 我的博客园
- QQ群:704621321
对于小游戏来说,一般我们能想到的就是微信小游戏,在微信小游戏出来之前,数4399小游戏独大。今天就来和大家分享一下egret接4399平台的流程吧。
首先我们需要加入4399相关的库文件,由于4399使用js,egret项目使用ts,因此需要使用ts,调用js,在这里我把方法封装在库文件夹中,大家可以在左侧加群下载。
下载完成后将文件中得PlatHelper放入egret项目里即可。这时我们可以发现该文件包含PlateHelper.ts,PlateHelper.js这两个文件。接下来在egert项目中调用4399的广告,排行榜,分享之类的功能,只需要调用PlateHelper.方法,就可以了。下面主要介绍分享,排行榜,广告的实现,其他功能同理,调用4399API时,可以查看4399平台上对应的API介绍:4399API
一。分享
PlateHelper.share();
二。排行榜
1.自定义item皮肤
代码如下:
class myGlobalRankItem extends eui.Component implements eui.UIComponent {// public bg: eui.Image;public orderIcon: eui.Image;public head: eui.Image;public niceName: eui.Label;public order: eui.Label;public score: eui.Label;public constructor() {super();}protected partAdded(partName: string, instance: any): void {super.partAdded(partName, instance);}protected childrenCreated(): void {super.childrenCreated();}/// 初始化ui(老版)public init2(order: number, score: number) {this.argOrder = order;this.argScore = score;}// /// 初始化ui(新版本)// public init(order: number, head: string, name: string, score: number) {// this.order.text = ""+order;// this.niceName.text = name;// this.score.text = ""+score;// this.orderIcon.visible = order < 4;// this.order.visible = order > 3;// if(order <= 3){// this.orderIcon.source = RES.getRes("order"+order+"_png");// }// RES.getResByUrl(head, function(event){// this.head.source = <egret.Texture>event;// }, this, RES.ResourceItem.TYPE_IMAGE);// }
}
2.自定义排行榜皮肤
使用scroll+View管理排行榜中每个item的滑动。
目前排行榜还是旧版的,只能显示排名和得分。
class rankPanel extends eui.Component implements eui.UIComponent {public groupBtn: eui.Button;public inviteBtn: eui.Button;public shareBtn: eui.Button;/**关闭按钮 */public returnBtn: eui.Button;public globalScr: eui.Scroller;public globalView: eui.Group;public constructor() {super();}protected partAdded(partName: string, instance: any): void {super.partAdded(partName, instance);}protected childrenCreated(): void {super.childrenCreated();}/// 更新排行榜(老版)public updateGlobalRank() {var self = this;try {PlateHelper.getRank(function (data) {console.log("ftest2 getRank", data)if (data.code == 10000) {self.globalView.removeChildren();for (var i = 0; i < Math.min(data.data.length, 30); i++) {var vl = data.data[i]var item = new myGlobalRankItem();item.init2(vl.rank, vl.score);// item.init(vl.rank,vl.head,vl.name, vl.score);item.y = 150 * i;self.globalView.addChild(item);}}});} catch (e) { console.error(e); }};// /// 更新排行榜// public updateGlobalRank(){// var self = this;// try{// console.log("ftest2 updateGlobalRank 1")// PlateHelper.getNearRanking(function(data){// console.log("ftest2 updateGlobalRank 2", data)// if(data.code == 10000){// self.globalView.removeChildren();// for(var i=0; i<data.data.list.length; i++){// var vl = data.data.list[i]// var item = new myGlobalRankItem();// item.init(vl.rank, PlateHelper.getUserAvatar(vl.uId), vl.userName, vl.score);// self.globalView.addChild(item);// }// }// }, 20);// }catch(e){ console.error(e); }// };
}
使用try Cath捕捉异常。使用PlateHelper.getRank调用排行榜接口。10000代表获取成功,10001为获取失败。假设列表最多显示30个item,依次遍历获得的排行榜数据。
3.玩家提交分数
/// 提交分数(不全的老版)public plateSubmitScore(score, call) {PlateHelper.submitScore(score, function (data) {if (call) { call(data); }})};// /// 提交分数(不稳定的新版)// public plateSubmitScore(score, call){// if(PlateHelper.isLogin()){// // 提交分数// try{// PlateHelper.submitRanking(score, function(data){// if(call){ call(data); }// });// }catch(e){ console.error(e); }// }else{// egret.localStorage.setItem("bSubmitScore", "1");// PlateHelper.login(function(data){});// }// };
三。广告
if (PlateHelper.canPlayAd()) 是否可以播放;可以播放广告时播放广告:PlateHelper.playAd(function (data) 。10000: 开始播放;10001:播放结束。
if (PlateHelper.canPlayAd())
{//能播放广告PlateHelper.playAd(function (data) {if(obj.code === 10000){console.log('开始播放')} else if(obj.code === 10001){console.log('播放结束')} else {console.log('广告异常')}}});} else {//不能播放广告}
需要注意的是,看广告获得奖励,会存在奖励显示不及时,原因是:播放广告时, egret的心跳停止,广告结束不会自动恢复心跳,需要点击一下才能激活。解决办法:注释掉main…ts中的下列代码:
egret.lifecycle.onPause = () => {egret.ticker.pause();}egret.lifecycle.onResume = () => {egret.ticker.resume();}
其他功能调用同上。现在可以打H5包了。修改版本号(在这里我修改为1.0.0),在路径lianlian4399\bin-release\web\1.0.0下,用文件中的index.html替换项目中的index.html。然后
在路径lianlian4399\bin-release\web\1.0.0下,全选,压缩为.zip文件 |
,上传zip文件即可进行调试.
egret接4399平台相关推荐
- egret接4399排行榜头像跨域问题
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 接4399排行榜的时候,获取到头像的url地址,显示头像使用下面两种方法(注:head为url地址): 方法一: this.head. ...
- 如何发布Unity游戏到4399平台
一.将游戏发布为WebGL 游戏制作完成后Build Setting中选择WebGL,如果提示没有则需要下载这个插件. 发布之前应当在PlayerSetting中把Api Compatibility ...
- Egret游戏手Q平台接入问题整理
1.default.res.json 配置文件下载失败 RES.addEventListener(RES.ResourceEvent.CONFIG_COMPLETE, this.onConfigCom ...
- 什么是算法算法有些什么特性_反正是什么算法
什么是算法算法有些什么特性 What you need to know about the simple concept that powers the modern world. 您需要了解为现代世 ...
- 利用python搭建“5433小游戏集成平台”
代码过多需要代码的朋友可以至5433小游戏代码资源下载!!! 正文: 小时候手机还未普及,PC端的游戏大作没有几个,我们可以游玩的只有类似于4399.7k7k小游戏平台中的小游戏.4399平台截图如下 ...
- 是寒冬还是风口?2015年HTML5游戏完整产业链报告
策划/采访:尚言 编辑:徐乙榛 文案:李菁 制图:华丽胖子 目录 一.HTML5游戏产业链之研发篇 1-1 开发成本 1-2 开发瓶颈 二.HTML5游戏产业链之渠道篇 2-1 渠道商业模式 2-2 ...
- 网页游戏怎么修改数据_一周网页游戏数据报告(7.14-7.20)
一.运营平台开服排行 点评:纵观本周网页游戏排行榜,众平台排名变化不大.本周一线平台共开服3996组,入驻新游戏43款,其中12款游戏目前仍处于测试阶段:9377<群雄争霸>,此款三国题材 ...
- 80亿美元侵权诉讼的随想
最近有个有意思的新闻,甲骨文公司诉讼谷歌侵权,索赔80亿美金的一个案例,历经十年,几经反复,终于落下帷幕,最后谷歌大获全胜. 我看到一则微博点评,还是很值得分享的.摘图如下,(公众号图片上传限制,我做 ...
- 2010页游报告:开测222款31款停运
2010年中国网游市场进入了盈利瓶颈阶段,但网页游戏市场任然逆势上扬. 有数据指出,2010年网页游戏市场规模已经达到22亿.从市场角度出发,经过三年的发展,网页游戏市场已趋于成熟,但"同质 ...
最新文章
- linux ifconfig route ip 网络相关命令
- Annotation processing seems to be disabled for the project microservicecloud
- Linux软件安装及基本概念
- 计算机桌面底部不显示了,为什么电脑底部不会显示出来怎么办
- 【Redis数据结构 List 类型】List 类型生产中的应用 消息队列、排行榜、老干妈的朋友圈、监控程序的实现
- 查询数据库各种历史记录
- html flv jquery 插件,基于js与flash实现的网站flv视频播放插件代码
- 数据解读 | 薪资没那么高,延毕率超60%,现代人读博都图什么?
- bug的严重程度级别,bug的定义
- 债券融资和股权融资区别,债券融资的优缺点是什么
- 基于bs4的python爬虫-链家新房(广州页面)
- 8月20日 网工学习 二层交换机功能 MAC地址 交换机的寻址 总结二层交换机,根据源MAC地址进行MAC地址表学习,根据目的MAC地址转发
- DIY兼容机装苹果系统
- 你住的房子安全吗?-房屋安全鉴定四项须知
- locust安装成功为什么运行脚本后打不开页面或运行脚本会报错
- 儿童吹泡泡水简单配方_孩童吹泡泡水的制作方法
- HDFS副本存放策略(官方文档)
- CDH5.15离线搭建简易版集群(完整版)
- 手机图片压缩大小的方法,用什么软件压缩
- 10+ 位产品大佬的经典作品,不看后悔!