cocos android 热更新,Cocos creator 大厅子游戏和热更新
工作中,需要把cocos creator创建的多个游戏适配到Android和ios应用中,经过调研,可以利用大厅子游戏模式实现。大厅本身作为一个游戏工程,可以有加载页面,和热加载子游戏。
如何动态加载和更新子游戏:
自从jsb 3.0以来,可以用反射调用Android或者ios的代码:
const SubgameManager = require('SubgameManager');
cc.Class({
extends: cc.Component,
properties: {
downloadBtn: {
default: null,
type: cc.Node
},
label: {
default: null,
type: cc.Label
},
// defaults, set visually when attaching this script to the Canvas
text: 'Hello, World!'
},
// use this for initialization
onLoad: function () {
var name = 'subgame';
if (cc.sys.OS_ANDROID == cc.sys.os) {
name = jsb.reflection.callStaticMethod("org/cocos2dx/javascript/GameNameProvider", "getName", "()Ljava/lang/String;");
console.log("OS_ANDROID platform provides: " + name);
}
if (cc.sys.OS_IOS == cc.sys.os) {
name = jsb.reflection.callStaticMethod("GameNameProvider", "getName");
console.log("OS_IOS platform provides: " + name);
}
//判断子游戏有没有下载
if (SubgameManager.isSubgameDownLoad(name)) {
//已下载,判断是否需要更新
SubgameManager.needUpdateSubgame(name, (success) => {
if (success) {
this.label.string = "子游戏需要更新";
console.log("子游戏需要更新");
} else {
this.label.string = "子游戏不需要更新";
console.log("子游戏不需要更新");
}
}, () => {
console.log('出错了');
});
} else {
console.log("子游戏未下载");
this.label.string = "子游戏未下载";
}
this.downloadBtn.on('click', () => {
//下载子游戏/更新子游戏
console.log("downloadBtn clicked");
SubgameManager.downloadSubgame(name, (progress) => {
if (isNaN(progress)) {
progress = 0;
}
this.label.string = "资源下载中 " + parseInt(progress * 100) + "%";
console.log(this.label.string);
}, function(success) {
if (success) {
SubgameManager.enterSubgame(name);
console.log("进入子游戏");
} else {
console.log('下载失败');
}
});
}, this);
},
// called every frame
update: function (dt) {
},
});
Android代码:
package org.cocos2dx.javascript;
public class GameNameProvider {
public static String getName() {
return "subgame";
}
}
iOS代码:
#import
@interface GameNameProvider:NSObject {
}
+ (NSString *)getName;
@end
#import "GameNameProvider.h"
#import
@implementation GameNameProvider
// request login
+ (NSString *) getName {
return @"subgame";
}
@end
cocos android 热更新,Cocos creator 大厅子游戏和热更新相关推荐
- cocoscreator2.0.10 热更新大厅子游戏模式 学习使用记录
热更新主要用到cocos2d的热更新模块RawAsset AssetsManager 先按教程写个demo 创建大厅空项目 ,添加场景helloworld ,如下图在场景中加热更需要的控件 ch ...
- cocos android 剪切板,Cocos Creator 点击按钮复制到剪切版
建一个ts文件,js文件不行,复制下面的代码,在场景中给button绑定事件 // Learn TypeScript: // - https://docs.cocos.com/creator/manu ...
- 王者荣耀服务器维护9月27,《王者荣耀》ios更新不了怎么办 9月27日更新失败解决方法...
导 读 王者荣耀9月27日更新结束后正式服就会开始s13赛季了,这种大版本更新一般都会有各种更新状况出现,尤其是ios玩家,那么ios更新不了怎么办?小编抢先为大家分享一下更新失败的原因和解决方法,大 ...
- 【10086个赞】Cocos Creator助力H5游戏大爆发
梦想起航,共筑辉煌.4月21日,"资本助推H5行业发展--2017·H5-GAME资深大咖荟"在厦门创+会议中心正式拉开帷幕. 作为一个新兴行业,H5游戏至去年年末便被众多从业者炒 ...
- Cocos 篇:基于 Cocos Creator v1.9,开始 Hello World 。。。
前言 身体好,才是真的好~ 从此之后,要会生活,努力活出自己想要的样子~!!! Enmmm,LZ 也是小白一枚,初入贵行,还望手下留情~ 本篇主要作用,或者说定位在于和 LZ 一样得小白,希望多多交流 ...
- cocos 发布android 返回值2,cocos android编译出错
初次涉猎cocos,直接用cocos studio编译新生成的工程,提示错误如下: 正在执行 ndk-build... NDK 编译模式:release NDK_TOOLCHAIN_VERSION: ...
- Cocos Creator 重力球游戏制作教程
本文首发于:一枚小工(caizj_cn) Cocos 经授权转载,感谢作者创作 游戏玩法 通过手机陀螺仪,调整手机,让球从上一层的间隔中落到下一层,楼层会不断上涨,如果球碰到上方或者下方的火焰,游戏结 ...
- 穿山甲android对接错误码40029,空Android项目集成Cocos、穿山甲。Lua调用网络接口。...
1. 搭建安卓空项目.集成cocos.穿山甲广告新建安卓项目start new android projectEmpty Activity包名这里要和穿山甲上面已创建的应用的包... 1. 搭建安卓空 ...
- android app 自动更新,app升级项目,新增强制更新(可静默),支持热更新(wgt),可支持高版本安卓系统...
pure-updater 一个可以用的自动更新方案 经测试可支持 Android 9.0 已支持热更新 已支持静默的强制更新 如果您觉得还可以的话那就点个五星吧!谢谢! 已测试 android 8.0 ...
- cocos creator 浅塘游戏开发(2) 搭建初始界面
cocos creator 浅塘游戏开发(2) 文章目录 cocos creator 浅塘游戏开发(2) 前言 一.创建一个新的工程 二. 1.初始配置 2.初始界面 总结 前言 此次文章将会搭建浅塘 ...
最新文章
- 目标检测比赛中的trick
- 用有效的测试培养工程——《Growing Object-Oriented Software, Guided by Tests》读后感
- linux c 关键字 _Noreturn 简介
- ionic ajax 跨域,解决 ionic 中的 CORS(跨域) 问题
- 【案例分享】crontab执行脚本异常问题
- ionic3 隐藏子页面tabs
- Hadoop框架:HDFS读写机制与API详解
- no判断 python yes_Python 内置类型全解析(1)
- python编程(指针)
- 动态规划经典例题:钢条切割
- 第二节20181110
- 微信公众号应用开发(一)
- Java多线程系列--【JUC集合10】- ConcurrentLinkedQueue
- Android开发之so文件使用方法详解
- 口碑营销:如何让传统行业的电商引发口碑效应并营销
- rabbitMQ无法访问web管理页面
- SpringGateway 网关
- 如何设计接口测试用例
- Ubuntu10.04用Wine完美运行QQ2009
- 用turtle绘制中国象棋