日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cocos android 热更新,Cocos creator 大厅子游戏和热更新

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 大厅子游戏和热更新的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。