├── ChildGame ├── README.md ├── project.json ├── template-banner.png ├── childgame │ ├── src │ │ ├── project.jsc │ │ ├── settings.jsc │ │ ├── jsb_anysdk.jsc │ │ ├── jsb_polyfill.jsc │ │ ├── jsb_anysdk_constants.jsc │ │ ├── dating.js │ │ └── main.js │ ├── res │ │ ├── raw-internal │ │ │ └── image │ │ │ │ ├── default_btn_normal.png │ │ │ │ ├── default_btn_pressed.png │ │ │ │ └── default_btn_disabled.png │ │ └── import │ │ │ └── 0e │ │ │ └── 0eb8366c6.json │ ├── version.manifest │ └── project.manifest ├── assets │ ├── resources.meta │ ├── Texture │ │ ├── HelloWorld.png │ │ ├── singleColor.png │ │ ├── singleColor.png.meta │ │ └── HelloWorld.png.meta │ ├── project.manifest.meta │ ├── version.manifest.meta │ ├── Scene.meta │ ├── Script.meta │ ├── Texture.meta │ ├── resources │ │ ├── ChildGameScene.fire.meta │ │ ├── ChildGame.js.meta │ │ ├── ChildGame.js │ │ └── ChildGameScene.fire │ ├── version.manifest │ └── project.manifest ├── template.json ├── settings │ ├── builder.panel.json │ ├── project.json │ └── builder.json ├── jsconfig.json ├── .gitignore ├── main.js └── dating.js ├── hall ├── project.json ├── assets │ ├── button_blue_big.png │ ├── hall.fire.meta │ ├── hall.js.meta │ ├── HotUpdate.js.meta │ ├── NewScript.coffee.meta │ ├── NewScript.coffee │ ├── button_blue_big.png.meta │ ├── HotUpdate.js │ ├── hall.js │ └── hall.fire ├── remote-assets │ ├── src │ │ ├── project.jsc │ │ ├── settings.jsc │ │ ├── jsb_anysdk.jsc │ │ ├── jsb_polyfill.jsc │ │ └── jsb_anysdk_constants.jsc │ ├── res │ │ ├── raw-assets │ │ │ └── button_blue_big.png │ │ ├── raw-internal │ │ │ └── image │ │ │ │ ├── default_btn_disabled.png │ │ │ │ ├── default_btn_normal.png │ │ │ │ └── default_btn_pressed.png │ │ └── import │ │ │ └── 0c │ │ │ └── 0cecce7b2.json │ ├── version.manifest │ └── project.manifest ├── mainfest │ ├── version.manifest │ └── project.manifest ├── jsconfig.json ├── settings │ ├── project.json │ └── builder.json └── .gitignore └── README.md /ChildGame/README.md: -------------------------------------------------------------------------------- 1 | # hello-world 2 | Hello world new project template. 3 | -------------------------------------------------------------------------------- /ChildGame/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "engine": "cocos2d-html5", 3 | "packages": "packages" 4 | } -------------------------------------------------------------------------------- /hall/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "engine": "cocos-creator-js", 3 | "packages": "packages" 4 | } -------------------------------------------------------------------------------- /ChildGame/template-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/ChildGame/template-banner.png -------------------------------------------------------------------------------- /hall/assets/button_blue_big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/hall/assets/button_blue_big.png -------------------------------------------------------------------------------- /ChildGame/childgame/src/project.jsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/ChildGame/childgame/src/project.jsc -------------------------------------------------------------------------------- /ChildGame/childgame/src/settings.jsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/ChildGame/childgame/src/settings.jsc -------------------------------------------------------------------------------- /hall/remote-assets/src/project.jsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/hall/remote-assets/src/project.jsc -------------------------------------------------------------------------------- /hall/remote-assets/src/settings.jsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/hall/remote-assets/src/settings.jsc -------------------------------------------------------------------------------- /ChildGame/assets/resources.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.1", 3 | "uuid": "2b4261b7-0479-4b3b-895e-5147c3552b65", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /ChildGame/childgame/src/jsb_anysdk.jsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/ChildGame/childgame/src/jsb_anysdk.jsc -------------------------------------------------------------------------------- /hall/remote-assets/src/jsb_anysdk.jsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/hall/remote-assets/src/jsb_anysdk.jsc -------------------------------------------------------------------------------- /ChildGame/assets/Texture/HelloWorld.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/ChildGame/assets/Texture/HelloWorld.png -------------------------------------------------------------------------------- /ChildGame/assets/Texture/singleColor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/ChildGame/assets/Texture/singleColor.png -------------------------------------------------------------------------------- /ChildGame/assets/project.manifest.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "402208a2-dc51-4b87-9012-fd78a5494263", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /ChildGame/assets/version.manifest.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "c6860a36-6c55-4c86-81d8-07f173792fc9", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /ChildGame/childgame/src/jsb_polyfill.jsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/ChildGame/childgame/src/jsb_polyfill.jsc -------------------------------------------------------------------------------- /hall/remote-assets/src/jsb_polyfill.jsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/hall/remote-assets/src/jsb_polyfill.jsc -------------------------------------------------------------------------------- /ChildGame/template.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TEMPLATES.helloworld.name", 3 | "desc": "TEMPLATES.helloworld.desc", 4 | "banner": "template-banner.png" 5 | } -------------------------------------------------------------------------------- /ChildGame/assets/Scene.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.1", 3 | "uuid": "29f52784-2fca-467b-92e7-8fd9ef8c57b7", 4 | "isGroup": false, 5 | "subMetas": {} 6 | } -------------------------------------------------------------------------------- /ChildGame/assets/Script.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.1", 3 | "uuid": "4734c20c-0db8-4eb2-92ea-e692f4d70934", 4 | "isGroup": false, 5 | "subMetas": {} 6 | } -------------------------------------------------------------------------------- /ChildGame/assets/Texture.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.1", 3 | "uuid": "7b81d4e8-ec84-4716-968d-500ac1d78a54", 4 | "isGroup": false, 5 | "subMetas": {} 6 | } -------------------------------------------------------------------------------- /ChildGame/childgame/src/jsb_anysdk_constants.jsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/ChildGame/childgame/src/jsb_anysdk_constants.jsc -------------------------------------------------------------------------------- /hall/remote-assets/src/jsb_anysdk_constants.jsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/hall/remote-assets/src/jsb_anysdk_constants.jsc -------------------------------------------------------------------------------- /hall/remote-assets/res/raw-assets/button_blue_big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/hall/remote-assets/res/raw-assets/button_blue_big.png -------------------------------------------------------------------------------- /ChildGame/childgame/res/raw-internal/image/default_btn_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/ChildGame/childgame/res/raw-internal/image/default_btn_normal.png -------------------------------------------------------------------------------- /ChildGame/childgame/res/raw-internal/image/default_btn_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/ChildGame/childgame/res/raw-internal/image/default_btn_pressed.png -------------------------------------------------------------------------------- /hall/remote-assets/res/raw-internal/image/default_btn_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/hall/remote-assets/res/raw-internal/image/default_btn_disabled.png -------------------------------------------------------------------------------- /hall/remote-assets/res/raw-internal/image/default_btn_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/hall/remote-assets/res/raw-internal/image/default_btn_normal.png -------------------------------------------------------------------------------- /hall/remote-assets/res/raw-internal/image/default_btn_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/hall/remote-assets/res/raw-internal/image/default_btn_pressed.png -------------------------------------------------------------------------------- /ChildGame/childgame/res/raw-internal/image/default_btn_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangjiangyi/HallAndChild/HEAD/ChildGame/childgame/res/raw-internal/image/default_btn_disabled.png -------------------------------------------------------------------------------- /hall/assets/hall.fire.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "7bae9db5-5098-49b0-b306-bcf73c799a85", 4 | "asyncLoadAssets": false, 5 | "autoReleaseAssets": false, 6 | "subMetas": {} 7 | } -------------------------------------------------------------------------------- /ChildGame/assets/resources/ChildGameScene.fire.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "4c36577c-3fa2-4449-9aa4-d5d5ed5ea178", 4 | "asyncLoadAssets": false, 5 | "autoReleaseAssets": false, 6 | "subMetas": {} 7 | } -------------------------------------------------------------------------------- /ChildGame/settings/builder.panel.json: -------------------------------------------------------------------------------- 1 | { 2 | "excludeScenes": [], 3 | "packageName": "org.cocos2d.helloworld", 4 | "platform": "web-mobile", 5 | "startScene": "2d2f792f-a40c-49bb-a189-ed176a246e49", 6 | "title": "HelloWorld" 7 | } -------------------------------------------------------------------------------- /hall/assets/hall.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.5", 3 | "uuid": "8ebd7783-e5ed-4d9a-8339-649b73b468b4", 4 | "isPlugin": false, 5 | "loadPluginInWeb": true, 6 | "loadPluginInNative": true, 7 | "loadPluginInEditor": false, 8 | "subMetas": {} 9 | } -------------------------------------------------------------------------------- /hall/assets/HotUpdate.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.5", 3 | "uuid": "b1fd0178-804d-40e4-907a-04b29b7b279b", 4 | "isPlugin": false, 5 | "loadPluginInWeb": true, 6 | "loadPluginInNative": true, 7 | "loadPluginInEditor": false, 8 | "subMetas": {} 9 | } -------------------------------------------------------------------------------- /hall/assets/NewScript.coffee.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.5", 3 | "uuid": "9716e214-a2d1-4f10-a2e8-b6125f592935", 4 | "isPlugin": false, 5 | "loadPluginInWeb": true, 6 | "loadPluginInNative": true, 7 | "loadPluginInEditor": false, 8 | "subMetas": {} 9 | } -------------------------------------------------------------------------------- /ChildGame/assets/resources/ChildGame.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.5", 3 | "uuid": "ffd971c2-b0c4-44a9-930d-da4427785720", 4 | "isPlugin": false, 5 | "loadPluginInWeb": true, 6 | "loadPluginInNative": true, 7 | "loadPluginInEditor": false, 8 | "subMetas": {} 9 | } -------------------------------------------------------------------------------- /ChildGame/assets/version.manifest: -------------------------------------------------------------------------------- 1 | {"packageUrl":"http://192.168.92.59/update/remote-assets","remoteManifestUrl":"http://192.168.92.59/update/remote-assets/project.manifest","remoteVersionUrl":"http://192.168.92.59/update/remote-assets/version.manifest","version":"1.0.0.1"} -------------------------------------------------------------------------------- /hall/mainfest/version.manifest: -------------------------------------------------------------------------------- 1 | {"packageUrl":"http://192.168.92.59/update/remote-assets/","remoteManifestUrl":"http://192.168.92.59/update/remote-assets/project.manifest","remoteVersionUrl":"http://192.168.92.59/update/remote-assets/version.manifest","version":"1.2.0.4"} -------------------------------------------------------------------------------- /ChildGame/childgame/version.manifest: -------------------------------------------------------------------------------- 1 | {"packageUrl":"http://192.168.92.59/update/remote-assets","remoteManifestUrl":"http://192.168.92.59/update/remote-assets/project.manifest","remoteVersionUrl":"http://192.168.92.59/update/remote-assets/version.manifest","version":"1.0.0.1"} -------------------------------------------------------------------------------- /hall/remote-assets/version.manifest: -------------------------------------------------------------------------------- 1 | {"packageUrl":"http://192.168.92.59/update/remote-assets/","remoteManifestUrl":"http://192.168.92.59/update/remote-assets/project.manifest","remoteVersionUrl":"http://192.168.92.59/update/remote-assets/version.manifest","version":"1.2.0.4"} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | hall是大厅的代码,只包含了一个大厅场景,HotUpdate.js文件是下载子游戏的代码。 2 |   3 | 4 | 5 | ChildGame是子游戏。也只有一个场景,里面有一个按钮用来返回大厅的。在子游戏的目录下有一个childgame目录,里面的文件是用来放到服务器上面供大厅下载的。 6 | 7 | 8 | main.js跟dating.js文件就是加载子游戏跟返回大厅的关键。在build后要把这两个文件放到jsb-default目录下的src文件夹下面,然后生成热更新资源。这样的话dating.js跟main.js才会在project.manifest的热更新配置资源里面 9 | -------------------------------------------------------------------------------- /hall/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", 4 | "module": "commonjs", 5 | "experimentalDecorators": true 6 | }, 7 | "exclude": [ 8 | "node_modules", 9 | ".vscode", 10 | "library", 11 | "local", 12 | "settings", 13 | "temp" 14 | ] 15 | } -------------------------------------------------------------------------------- /ChildGame/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", 4 | "module": "commonjs", 5 | "experimentalDecorators": true 6 | }, 7 | "exclude": [ 8 | "node_modules", 9 | ".vscode", 10 | "library", 11 | "local", 12 | "settings", 13 | "temp" 14 | ] 15 | } -------------------------------------------------------------------------------- /ChildGame/assets/resources/ChildGame.js: -------------------------------------------------------------------------------- 1 | cc.Class({ 2 | extends: cc.Component, 3 | 4 | properties: { 5 | }, 6 | 7 | onLoad: function () { 8 | cc.find('Canvas/label').getComponent(cc.Label).string = '子游戏 Hello World!!' 9 | }, 10 | 11 | returnDating: function () { 12 | cc.INGAME = (jsb.fileUtils ? jsb.fileUtils.getWritablePath() : '/') + "ALLGame/subgame"; 13 | require(cc.INGAME+"/src/dating.js"); 14 | } 15 | 16 | }); 17 | -------------------------------------------------------------------------------- /hall/settings/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "start-scene": "current", 3 | "group-list": [ 4 | "default" 5 | ], 6 | "collision-matrix": [ 7 | [ 8 | true 9 | ] 10 | ], 11 | "excluded-modules": [], 12 | "design-resolution-width": 960, 13 | "design-resolution-height": 640, 14 | "fit-width": false, 15 | "fit-height": true, 16 | "use-project-simulator-setting": false, 17 | "simulator-orientation": false, 18 | "use-customize-simulator": false, 19 | "simulator-resolution": { 20 | "width": 960, 21 | "height": 640 22 | } 23 | } -------------------------------------------------------------------------------- /ChildGame/settings/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "collision-matrix": [ 3 | [ 4 | true 5 | ] 6 | ], 7 | "excluded-modules": [], 8 | "group-list": [ 9 | "default" 10 | ], 11 | "start-scene": "current", 12 | "design-resolution-width": 960, 13 | "design-resolution-height": 640, 14 | "fit-width": false, 15 | "fit-height": true, 16 | "use-project-simulator-setting": false, 17 | "simulator-orientation": false, 18 | "use-customize-simulator": false, 19 | "simulator-resolution": { 20 | "width": 960, 21 | "height": 640 22 | } 23 | } -------------------------------------------------------------------------------- /hall/assets/NewScript.coffee: -------------------------------------------------------------------------------- 1 | cc.Class { 2 | extends: cc.Component 3 | 4 | properties: { 5 | # foo: 6 | # default: null # The default value will be used only when the component attaching 7 | # to a node for the first time 8 | # type: cc 9 | # serializable: true # [optional], default is true 10 | # visible: true # [optional], default is true 11 | # displayName: 'Foo' # [optional], default is property name 12 | # readonly: false # [optional], default is false 13 | } 14 | 15 | update: (dt) -> 16 | # do your update here 17 | } 18 | -------------------------------------------------------------------------------- /hall/settings/builder.json: -------------------------------------------------------------------------------- 1 | { 2 | "appKey": "", 3 | "appSecret": "", 4 | "excludeScenes": [], 5 | "includeAnySDK": false, 6 | "includeSDKBox": false, 7 | "inlineSpriteFrames": true, 8 | "inlineSpriteFrames_native": true, 9 | "md5Cache": false, 10 | "mergeStartScene": false, 11 | "oauthLoginServer": "", 12 | "optimizeHotUpdate": false, 13 | "orientation": { 14 | "landscapeLeft": true, 15 | "landscapeRight": true, 16 | "portrait": false, 17 | "upsideDown": false 18 | }, 19 | "packageName": "org.cocos2d.hall", 20 | "privateKey": "", 21 | "renderMode": "0", 22 | "startScene": "7bae9db5-5098-49b0-b306-bcf73c799a85", 23 | "title": "hall", 24 | "webOrientation": "auto", 25 | "includeSdk": [ 26 | "anysdk" 27 | ] 28 | } -------------------------------------------------------------------------------- /ChildGame/settings/builder.json: -------------------------------------------------------------------------------- 1 | { 2 | "appKey": "", 3 | "appSecret": "", 4 | "excludeScenes": [], 5 | "includeAnySDK": false, 6 | "includeSDKBox": false, 7 | "includeSdk": [ 8 | "anysdk" 9 | ], 10 | "inlineSpriteFrames": true, 11 | "inlineSpriteFrames_native": true, 12 | "md5Cache": false, 13 | "mergeStartScene": false, 14 | "oauthLoginServer": "", 15 | "optimizeHotUpdate": false, 16 | "orientation": { 17 | "landscapeLeft": true, 18 | "landscapeRight": true, 19 | "portrait": false, 20 | "upsideDown": false 21 | }, 22 | "packageName": "org.cocos2d.helloworld", 23 | "privateKey": "", 24 | "renderMode": "0", 25 | "startScene": "4c36577c-3fa2-4449-9aa4-d5d5ed5ea178", 26 | "title": "hello_world", 27 | "webOrientation": "auto" 28 | } -------------------------------------------------------------------------------- /ChildGame/assets/Texture/singleColor.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "a8027877-d8d6-4645-97a0-52d4a0123dba", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "singleColor": { 9 | "ver": "1.0.3", 10 | "uuid": "410fb916-8721-4663-bab8-34397391ace7", 11 | "rawTextureUuid": "a8027877-d8d6-4645-97a0-52d4a0123dba", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": 0, 16 | "offsetY": 0, 17 | "trimX": 0, 18 | "trimY": 0, 19 | "width": 2, 20 | "height": 2, 21 | "rawWidth": 2, 22 | "rawHeight": 2, 23 | "borderTop": 0, 24 | "borderBottom": 0, 25 | "borderLeft": 0, 26 | "borderRight": 0, 27 | "subMetas": {} 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /hall/assets/button_blue_big.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "6df15c17-0365-4bbb-a9be-aa3d74b42bb2", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "button_blue_big": { 9 | "ver": "1.0.3", 10 | "uuid": "f63f4f0e-c3dc-413b-a1cd-d511dcfd4904", 11 | "rawTextureUuid": "6df15c17-0365-4bbb-a9be-aa3d74b42bb2", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": 0, 16 | "offsetY": 0, 17 | "trimX": 0, 18 | "trimY": 0, 19 | "width": 240, 20 | "height": 96, 21 | "rawWidth": 240, 22 | "rawHeight": 96, 23 | "borderTop": 0, 24 | "borderBottom": 0, 25 | "borderLeft": 0, 26 | "borderRight": 0, 27 | "subMetas": {} 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /ChildGame/assets/Texture/HelloWorld.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "6aa0aa6a-ebee-4155-a088-a687a6aadec4", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "HelloWorld": { 9 | "ver": "1.0.3", 10 | "uuid": "31bc895a-c003-4566-a9f3-2e54ae1c17dc", 11 | "rawTextureUuid": "6aa0aa6a-ebee-4155-a088-a687a6aadec4", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": 0, 16 | "offsetY": 0, 17 | "trimX": 0, 18 | "trimY": 0, 19 | "width": 195, 20 | "height": 270, 21 | "rawWidth": 195, 22 | "rawHeight": 270, 23 | "borderTop": 0, 24 | "borderBottom": 0, 25 | "borderLeft": 0, 26 | "borderRight": 0, 27 | "subMetas": {} 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /hall/mainfest/project.manifest: -------------------------------------------------------------------------------- 1 | {"packageUrl":"http://192.168.92.59/update/remote-assets/","remoteManifestUrl":"http://192.168.92.59/update/remote-assets/project.manifest","remoteVersionUrl":"http://192.168.92.59/update/remote-assets/version.manifest","version":"1.2.0.4","assets":{"src/jsb_anysdk.jsc":{"size":10716,"md5":"7bf4f80195f3958c3395626f0ce90c24"},"src/jsb_anysdk_constants.jsc":{"size":14812,"md5":"2964d79d22435f566df247c37cc4d8af"},"src/jsb_polyfill.jsc":{"size":1918488,"md5":"63d8a06b93b7f23a35159372c25d1311"},"src/project.jsc":{"size":12189,"md5":"a44c9979dbc04c1c776619cf6c4da21d"},"src/settings.jsc":{"size":1864,"md5":"1addbc8a18ca66aff67b577e0339d7c9"},"res/import/0c/0cecce7b2.json":{"size":5351,"md5":"7af63cd27d6decf17eff7d01e29182f4"},"res/raw-assets/button_blue_big.png":{"size":18599,"md5":"ea94bb909ab598dabdd9155c9c9adf81"},"res/raw-internal/image/default_btn_disabled.png":{"size":205,"md5":"76bf4193829948d3f84e0f4d4f442648"},"res/raw-internal/image/default_btn_normal.png":{"size":223,"md5":"c233ddc628401a2ff11f6827dc985387"},"res/raw-internal/image/default_btn_pressed.png":{"size":164,"md5":"407292955584e92e09765f4bb3d6571e"}},"searchPaths":[]} -------------------------------------------------------------------------------- /hall/remote-assets/project.manifest: -------------------------------------------------------------------------------- 1 | {"packageUrl":"http://192.168.92.59/update/remote-assets/","remoteManifestUrl":"http://192.168.92.59/update/remote-assets/project.manifest","remoteVersionUrl":"http://192.168.92.59/update/remote-assets/version.manifest","version":"1.2.0.4","assets":{"src/jsb_anysdk.jsc":{"size":10716,"md5":"7bf4f80195f3958c3395626f0ce90c24"},"src/jsb_anysdk_constants.jsc":{"size":14812,"md5":"2964d79d22435f566df247c37cc4d8af"},"src/jsb_polyfill.jsc":{"size":1918488,"md5":"63d8a06b93b7f23a35159372c25d1311"},"src/project.jsc":{"size":12189,"md5":"a44c9979dbc04c1c776619cf6c4da21d"},"src/settings.jsc":{"size":1864,"md5":"1addbc8a18ca66aff67b577e0339d7c9"},"res/import/0c/0cecce7b2.json":{"size":5351,"md5":"7af63cd27d6decf17eff7d01e29182f4"},"res/raw-assets/button_blue_big.png":{"size":18599,"md5":"ea94bb909ab598dabdd9155c9c9adf81"},"res/raw-internal/image/default_btn_disabled.png":{"size":205,"md5":"76bf4193829948d3f84e0f4d4f442648"},"res/raw-internal/image/default_btn_normal.png":{"size":223,"md5":"c233ddc628401a2ff11f6827dc985387"},"res/raw-internal/image/default_btn_pressed.png":{"size":164,"md5":"407292955584e92e09765f4bb3d6571e"}},"searchPaths":[]} -------------------------------------------------------------------------------- /ChildGame/assets/project.manifest: -------------------------------------------------------------------------------- 1 | {"packageUrl":"http://192.168.92.59/update/remote-assets","remoteManifestUrl":"http://192.168.92.59/update/remote-assets/project.manifest","remoteVersionUrl":"http://192.168.92.59/update/remote-assets/version.manifest","version":"1.0.0.1","assets":{"src/dating.js":{"size":8217,"md5":"26e1f25ab3f1f63a1a91b8eab96c2288"},"src/jsb_anysdk.jsc":{"size":10709,"md5":"ab6e2fa14ed160bbb90da1704485cccd"},"src/jsb_anysdk_constants.jsc":{"size":14805,"md5":"70da344020c99422a8206cb6f64df2f8"},"src/jsb_polyfill.jsc":{"size":1918481,"md5":"862c6578b8e48357176192dc890f1016"},"src/main.js":{"size":8459,"md5":"355a1c2e4dff4a0ebfe6f2d8f564967a"},"src/project.jsc":{"size":3077,"md5":"f10d3b79b8c1ae15defdae3c9c99bec3"},"src/settings.jsc":{"size":1803,"md5":"ac7d099fbe0a55afae04c7a90f960a3b"},"res/import/0e/0eb8366c6.json":{"size":2784,"md5":"fd613072eca2ac340d9ca3ba6cf4d244"},"res/raw-internal/image/default_btn_disabled.png":{"size":205,"md5":"76bf4193829948d3f84e0f4d4f442648"},"res/raw-internal/image/default_btn_normal.png":{"size":223,"md5":"c233ddc628401a2ff11f6827dc985387"},"res/raw-internal/image/default_btn_pressed.png":{"size":164,"md5":"407292955584e92e09765f4bb3d6571e"}},"searchPaths":[]} -------------------------------------------------------------------------------- /ChildGame/childgame/project.manifest: -------------------------------------------------------------------------------- 1 | {"packageUrl":"http://192.168.92.59/update/remote-assets","remoteManifestUrl":"http://192.168.92.59/update/remote-assets/project.manifest","remoteVersionUrl":"http://192.168.92.59/update/remote-assets/version.manifest","version":"1.0.0.1","assets":{"src/dating.js":{"size":8217,"md5":"26e1f25ab3f1f63a1a91b8eab96c2288"},"src/jsb_anysdk.jsc":{"size":10709,"md5":"ab6e2fa14ed160bbb90da1704485cccd"},"src/jsb_anysdk_constants.jsc":{"size":14805,"md5":"70da344020c99422a8206cb6f64df2f8"},"src/jsb_polyfill.jsc":{"size":1918481,"md5":"862c6578b8e48357176192dc890f1016"},"src/main.js":{"size":8459,"md5":"355a1c2e4dff4a0ebfe6f2d8f564967a"},"src/project.jsc":{"size":3077,"md5":"f10d3b79b8c1ae15defdae3c9c99bec3"},"src/settings.jsc":{"size":1803,"md5":"ac7d099fbe0a55afae04c7a90f960a3b"},"res/import/0e/0eb8366c6.json":{"size":2784,"md5":"fd613072eca2ac340d9ca3ba6cf4d244"},"res/raw-internal/image/default_btn_disabled.png":{"size":205,"md5":"76bf4193829948d3f84e0f4d4f442648"},"res/raw-internal/image/default_btn_normal.png":{"size":223,"md5":"c233ddc628401a2ff11f6827dc985387"},"res/raw-internal/image/default_btn_pressed.png":{"size":164,"md5":"407292955584e92e09765f4bb3d6571e"}},"searchPaths":[]} -------------------------------------------------------------------------------- /hall/.gitignore: -------------------------------------------------------------------------------- 1 | #///////////////////////////////////////////////////////////////////////////// 2 | # Fireball Projects 3 | #///////////////////////////////////////////////////////////////////////////// 4 | 5 | library/ 6 | temp/ 7 | local/ 8 | build/ 9 | 10 | #///////////////////////////////////////////////////////////////////////////// 11 | # Logs and databases 12 | #///////////////////////////////////////////////////////////////////////////// 13 | 14 | *.log 15 | *.sql 16 | *.sqlite 17 | 18 | #///////////////////////////////////////////////////////////////////////////// 19 | # files for debugger 20 | #///////////////////////////////////////////////////////////////////////////// 21 | 22 | *.sln 23 | *.csproj 24 | *.pidb 25 | *.unityproj 26 | *.suo 27 | 28 | #///////////////////////////////////////////////////////////////////////////// 29 | # OS generated files 30 | #///////////////////////////////////////////////////////////////////////////// 31 | 32 | .DS_Store 33 | ehthumbs.db 34 | Thumbs.db 35 | 36 | #///////////////////////////////////////////////////////////////////////////// 37 | # exvim files 38 | #///////////////////////////////////////////////////////////////////////////// 39 | 40 | *UnityVS.meta 41 | *.err 42 | *.err.meta 43 | *.exvim 44 | *.exvim.meta 45 | *.vimentry 46 | *.vimentry.meta 47 | *.vimproject 48 | *.vimproject.meta 49 | .vimfiles.*/ 50 | .exvim.*/ 51 | quick_gen_project_*_autogen.bat 52 | quick_gen_project_*_autogen.bat.meta 53 | quick_gen_project_*_autogen.sh 54 | quick_gen_project_*_autogen.sh.meta 55 | .exvim.app 56 | 57 | #///////////////////////////////////////////////////////////////////////////// 58 | # webstorm files 59 | #///////////////////////////////////////////////////////////////////////////// 60 | 61 | .idea/ 62 | 63 | #////////////////////////// 64 | # VS Code 65 | #////////////////////////// 66 | 67 | .vscode/ -------------------------------------------------------------------------------- /ChildGame/.gitignore: -------------------------------------------------------------------------------- 1 | #///////////////////////////////////////////////////////////////////////////// 2 | # Fireball Projects 3 | #///////////////////////////////////////////////////////////////////////////// 4 | 5 | library/ 6 | temp/ 7 | local/ 8 | build/ 9 | 10 | #///////////////////////////////////////////////////////////////////////////// 11 | # Logs and databases 12 | #///////////////////////////////////////////////////////////////////////////// 13 | 14 | *.log 15 | *.sql 16 | *.sqlite 17 | 18 | #///////////////////////////////////////////////////////////////////////////// 19 | # files for debugger 20 | #///////////////////////////////////////////////////////////////////////////// 21 | 22 | *.sln 23 | *.csproj 24 | *.pidb 25 | *.unityproj 26 | *.suo 27 | 28 | #///////////////////////////////////////////////////////////////////////////// 29 | # OS generated files 30 | #///////////////////////////////////////////////////////////////////////////// 31 | 32 | .DS_Store 33 | ehthumbs.db 34 | Thumbs.db 35 | 36 | #///////////////////////////////////////////////////////////////////////////// 37 | # exvim files 38 | #///////////////////////////////////////////////////////////////////////////// 39 | 40 | *UnityVS.meta 41 | *.err 42 | *.err.meta 43 | *.exvim 44 | *.exvim.meta 45 | *.vimentry 46 | *.vimentry.meta 47 | *.vimproject 48 | *.vimproject.meta 49 | .vimfiles.*/ 50 | .exvim.*/ 51 | quick_gen_project_*_autogen.bat 52 | quick_gen_project_*_autogen.bat.meta 53 | quick_gen_project_*_autogen.sh 54 | quick_gen_project_*_autogen.sh.meta 55 | .exvim.app 56 | 57 | #///////////////////////////////////////////////////////////////////////////// 58 | # webstorm files 59 | #///////////////////////////////////////////////////////////////////////////// 60 | 61 | .idea/ 62 | 63 | #////////////////////////// 64 | # VS Code 65 | #////////////////////////// 66 | 67 | .vscode/ -------------------------------------------------------------------------------- /ChildGame/childgame/res/import/0e/0eb8366c6.json: -------------------------------------------------------------------------------- 1 | [{"__type__":"cc.SpriteFrame","content":{"name":"default_btn_disabled","texture":"71VhFCTINJM6/Ky3oX9nBT","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[15,7,15,9]}},[{"__type__":"cc.SceneAsset","_name":"ChildGameScene","scene":{"__id__":1},"asyncLoadAssets":false},{"__type__":"cc.Scene","_name":"New Node","_children":[{"__id__":2}],"_anchorPoint":{"__type__":"cc.Vec2"},"autoReleaseAssets":false},{"__type__":"cc.Node","_name":"Canvas","_parent":{"__id__":1},"_children":[{"__id__":3},{"__id__":4}],"_components":[{"__type__":"cc.Canvas","node":{"__id__":2}},{"__type__":"ffd97HCsMREqZMN2kQneFcg","node":{"__id__":2}}],"_id":"6fi4H8r1JLk4sRqGroATMw","_contentSize":{"__type__":"cc.Size","width":960,"height":640},"_position":{"__type__":"cc.Vec2","x":480,"y":320}},{"__type__":"cc.Node","_name":"label","_parent":{"__id__":2},"_components":[{"__type__":"cc.Label","node":{"__id__":3},"_useOriginalSize":false,"_N$string":"子游戏","_N$horizontalAlign":1,"_N$verticalAlign":1}],"_contentSize":{"__type__":"cc.Size","width":120,"height":40}},{"__type__":"cc.Node","_name":"New Button","_parent":{"__id__":2},"_children":[{"__id__":5}],"_components":[{"__type__":"cc.Sprite","node":{"__id__":4},"_spriteFrame":{"__uuid__":"f0BIwQ8D5Ml7nTNQbh1YlS"},"_type":1,"_sizeMode":0},{"__type__":"cc.Button","node":{"__id__":4},"transition":2,"pressedColor":{"__type__":"cc.Color","r":255,"g":255,"b":255},"pressedSprite":{"__uuid__":"e97GVMl6JHh5Ml5qEDdSGa"},"hoverSprite":{"__uuid__":"e97GVMl6JHh5Ml5qEDdSGa"},"clickEvents":[{"__type__":"cc.ClickEvent","target":{"__id__":2},"component":"ChildGame","handler":"returnDating"}],"_N$normalColor":{"__type__":"cc.Color","r":255,"g":255,"b":255},"_N$disabledColor":{"__type__":"cc.Color","r":255,"g":255,"b":255},"_N$normalSprite":{"__uuid__":"f0BIwQ8D5Ml7nTNQbh1YlS"},"_N$disabledSprite":{"__uuid__":"29FYIk+N1GYaeWH/q1NxQO"},"_N$target":{"__id__":4}}],"_contentSize":{"__type__":"cc.Size","width":100,"height":40},"_position":{"__type__":"cc.Vec2","y":-75}},{"__type__":"cc.Node","_name":"Label","_parent":{"__id__":4},"_components":[{"__type__":"cc.Label","node":{"__id__":5},"_useOriginalSize":false,"_actualFontSize":20,"_fontSize":20,"_enableWrapText":false,"_N$string":"返回大厅","_N$horizontalAlign":1,"_N$verticalAlign":1,"_N$overflow":1}],"_color":{"__type__":"cc.Color"},"_contentSize":{"__type__":"cc.Size","width":100,"height":40}}],{"__type__":"cc.SpriteFrame","content":{"name":"default_btn_pressed","texture":"b4P/PCArtIdIH38t6mlw8Y","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[11,11,11,7]}},{"__type__":"cc.SpriteFrame","content":{"name":"default_btn_normal","texture":"e8Ueib+qJEhL6mXAHdnwbi","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[8,11,7,9]}}] -------------------------------------------------------------------------------- /hall/remote-assets/res/import/0c/0cecce7b2.json: -------------------------------------------------------------------------------- 1 | [{"__type__":"cc.SpriteFrame","content":{"name":"default_btn_disabled","texture":"71VhFCTINJM6/Ky3oX9nBT","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[15,7,15,9]}},[{"__type__":"cc.SceneAsset","_name":"hall","scene":{"__id__":1},"asyncLoadAssets":false},{"__type__":"cc.Scene","_name":"New Node","_children":[{"__id__":2}],"_anchorPoint":{"__type__":"cc.Vec2"},"autoReleaseAssets":false},{"__type__":"cc.Node","_name":"Canvas","_parent":{"__id__":1},"_children":[{"__id__":3},{"__id__":4},{"__id__":5},{"__id__":6},{"__id__":8},{"__id__":10}],"_components":[{"__type__":"cc.Canvas","node":{"__id__":2}},{"__type__":"8ebd7eD5e1NmoM5ZJtztGi0","node":{"__id__":2}}],"_id":"6586eno/fNEsJk1JvjO48un","_contentSize":{"__type__":"cc.Size","width":960,"height":640},"_position":{"__type__":"cc.Vec2","x":480,"y":320}},{"__type__":"cc.Node","_name":"title","_parent":{"__id__":2},"_components":[{"__type__":"cc.Label","node":{"__id__":3},"_useOriginalSize":false,"_N$string":"这是一个游戏大厅","_N$horizontalAlign":1,"_N$verticalAlign":1}],"_contentSize":{"__type__":"cc.Size","width":320,"height":40},"_position":{"__type__":"cc.Vec2","x":22,"y":232}},{"__type__":"cc.Node","_name":"tip","_parent":{"__id__":2},"_components":[{"__type__":"cc.Label","node":{"__id__":4},"_useOriginalSize":false,"_N$string":"Hello world!","_N$horizontalAlign":1,"_N$verticalAlign":1}],"_contentSize":{"__type__":"cc.Size","width":208.96,"height":40},"_position":{"__type__":"cc.Vec2","x":30}},{"__type__":"cc.Node","_name":"label","_parent":{"__id__":2},"_components":[{"__type__":"cc.Label","node":{"__id__":5},"_useOriginalSize":false,"_N$string":"oooo","_N$horizontalAlign":1,"_N$verticalAlign":1}],"_contentSize":{"__type__":"cc.Size","width":88.98,"height":40},"_position":{"__type__":"cc.Vec2","x":15,"y":-79}},{"__type__":"cc.Node","_name":"btn_download","_parent":{"__id__":2},"_children":[{"__id__":7}],"_components":[{"__type__":"cc.Sprite","node":{"__id__":6},"_spriteFrame":{"__uuid__":"f0BIwQ8D5Ml7nTNQbh1YlS"},"_type":1,"_sizeMode":0},{"__type__":"cc.Button","node":{"__id__":6},"transition":2,"pressedColor":{"__type__":"cc.Color","r":255,"g":255,"b":255},"pressedSprite":{"__uuid__":"e97GVMl6JHh5Ml5qEDdSGa"},"hoverSprite":{"__uuid__":"e97GVMl6JHh5Ml5qEDdSGa"},"clickEvents":[{"__type__":"cc.ClickEvent","target":{"__id__":2},"component":"hall","handler":"download_sub_game"}],"_N$normalColor":{"__type__":"cc.Color","r":255,"g":255,"b":255},"_N$disabledColor":{"__type__":"cc.Color","r":255,"g":255,"b":255},"_N$normalSprite":{"__uuid__":"f0BIwQ8D5Ml7nTNQbh1YlS"},"_N$disabledSprite":{"__uuid__":"29FYIk+N1GYaeWH/q1NxQO"},"_N$target":{"__id__":6}}],"_contentSize":{"__type__":"cc.Size","width":100,"height":40},"_position":{"__type__":"cc.Vec2","x":-137,"y":-143}},{"__type__":"cc.Node","_name":"Label","_parent":{"__id__":6},"_components":[{"__type__":"cc.Label","node":{"__id__":7},"_useOriginalSize":false,"_actualFontSize":20,"_fontSize":20,"_enableWrapText":false,"_N$string":"下载子游戏","_N$horizontalAlign":1,"_N$verticalAlign":1,"_N$overflow":1}],"_color":{"__type__":"cc.Color"},"_contentSize":{"__type__":"cc.Size","width":120,"height":40}},{"__type__":"cc.Node","_name":"btn_enter","_parent":{"__id__":2},"_children":[{"__id__":9}],"_components":[{"__type__":"cc.Sprite","node":{"__id__":8},"_spriteFrame":{"__uuid__":"f0BIwQ8D5Ml7nTNQbh1YlS"},"_type":1,"_sizeMode":0},{"__type__":"cc.Button","node":{"__id__":8},"transition":2,"pressedColor":{"__type__":"cc.Color","r":255,"g":255,"b":255},"pressedSprite":{"__uuid__":"e97GVMl6JHh5Ml5qEDdSGa"},"hoverSprite":{"__uuid__":"e97GVMl6JHh5Ml5qEDdSGa"},"clickEvents":[{"__type__":"cc.ClickEvent","target":{"__id__":2},"component":"hall","handler":"enter_sub_game"}],"_N$normalColor":{"__type__":"cc.Color","r":255,"g":255,"b":255},"_N$disabledColor":{"__type__":"cc.Color","r":255,"g":255,"b":255},"_N$normalSprite":{"__uuid__":"f0BIwQ8D5Ml7nTNQbh1YlS"},"_N$disabledSprite":{"__uuid__":"29FYIk+N1GYaeWH/q1NxQO"},"_N$target":{"__id__":8}}],"_contentSize":{"__type__":"cc.Size","width":100,"height":40},"_position":{"__type__":"cc.Vec2","x":170,"y":-143}},{"__type__":"cc.Node","_name":"Label","_parent":{"__id__":8},"_components":[{"__type__":"cc.Label","node":{"__id__":9},"_useOriginalSize":false,"_actualFontSize":20,"_fontSize":20,"_enableWrapText":false,"_N$string":"进入子游戏","_N$horizontalAlign":1,"_N$verticalAlign":1,"_N$overflow":1}],"_color":{"__type__":"cc.Color"},"_contentSize":{"__type__":"cc.Size","width":100,"height":40}},{"__type__":"cc.Node","_name":"sp","_parent":{"__id__":2},"_components":[{"__type__":"cc.Sprite","node":{"__id__":10},"_spriteFrame":{"__uuid__":"f6P08Ow9xBO6HN1RHc/UkE"}}],"_contentSize":{"__type__":"cc.Size","width":240,"height":96},"_position":{"__type__":"cc.Vec2","x":27,"y":98}}],{"__type__":"cc.SpriteFrame","content":{"name":"default_btn_pressed","texture":"b4P/PCArtIdIH38t6mlw8Y","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[11,11,11,7]}},{"__type__":"cc.SpriteFrame","content":{"name":"default_btn_normal","texture":"e8Ueib+qJEhL6mXAHdnwbi","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[8,11,7,9]}},{"__type__":"cc.SpriteFrame","content":{"name":"button_blue_big","texture":"6d8VwXA2VLu6m+qj10tCuy","rect":[0,0,240,96],"offset":[0,0],"originalSize":[240,96]}}] -------------------------------------------------------------------------------- /hall/assets/HotUpdate.js: -------------------------------------------------------------------------------- 1 | cc.Class({ 2 | extends: cc.Component, 3 | 4 | properties: { 5 | _am: null, 6 | _updating: false, 7 | _canRetry: true, 8 | _storagePath: '', 9 | _version: -1, 10 | }, 11 | // use this for initialization 12 | onLoad: function () { 13 | this.initView(); 14 | this.initAssetsManage(); 15 | }, 16 | 17 | initView() { 18 | this.percentLabel = cc.find('Canvas/percent').getComponent(cc.Label); 19 | this.prmopt = cc.find('Canvas/prompt').getComponent(cc.Label); 20 | }, 21 | 22 | initAssetsManage() { 23 | if (cc.sys.isBrowser) { 24 | return; 25 | } 26 | this._storagePath = ((jsb.fileUtils ? jsb.fileUtils.getWritablePath() : '/') + 'ALLGame/subgame'); 27 | 28 | console.log('SubGame path ' + this._storagePath); 29 | 30 | let versionCompareHandle = function (versionA, versionB) { 31 | let vA = versionA.split('.'); 32 | let vB = versionB.split('.'); 33 | for (let i = 0; i < vA.length; ++i) { 34 | let a = parseInt(vA[i]); 35 | let b = parseInt(vB[i] || 0); 36 | if (a !== b) { 37 | return a - b; 38 | } 39 | } 40 | return vB.length > vA.length ? -1 : 0; 41 | }; 42 | this._am = new jsb.AssetsManager('', this._storagePath, versionCompareHandle); 43 | 44 | if (!cc.sys.ENABLE_GC_FOR_NATIVE_OBJECTS) { 45 | this._am.retain(); 46 | } 47 | 48 | if (cc.sys.os === cc.sys.OS_ANDROID) { 49 | this._am.setMaxConcurrentTask(2); 50 | } 51 | }, 52 | 53 | checkCb: function (event) { 54 | let delayTime = 2000; 55 | switch (event.getEventCode()) { 56 | case jsb.EventAssetsManager.ERROR_NO_LOCAL_MANIFEST: 57 | this.prmopt.string = "本地Manifest文件未找到"; 58 | break; 59 | case jsb.EventAssetsManager.ERROR_DOWNLOAD_MANIFEST: 60 | case jsb.EventAssetsManager.ERROR_PARSE_MANIFEST: 61 | this.prmopt.string = "加载Manifest文件失败"; 62 | break; 63 | case jsb.EventAssetsManager.ALREADY_UP_TO_DATE: 64 | this.prmopt.string = "已经是最新版本"; 65 | delayTime = 1000; 66 | break; 67 | case jsb.EventAssetsManager.NEW_VERSION_FOUND: 68 | this.prmopt.string = '找到新版本'; 69 | cc.eventManager.removeListener(this._checkListener); 70 | this._checkListener = null; 71 | this._updating = false; 72 | setTimeout(() => this.hotUpdate(), 1000); 73 | return; 74 | default: 75 | return; 76 | } 77 | 78 | cc.eventManager.removeListener(this._checkListener); 79 | this._checkListener = null; 80 | this._updating = false; 81 | }, 82 | 83 | updateCb: function (event) { 84 | console.log('update eventCode = ' + event.getEventCode(), 'update msg = ' + event.getMessage()); 85 | switch (event.getEventCode()) { 86 | case jsb.EventAssetsManager.ERROR_NO_LOCAL_MANIFEST: 87 | this.prmopt.string = '未找到本地Manifest文件'; 88 | break; 89 | case jsb.EventAssetsManager.UPDATE_PROGRESSION: 90 | let percent = event.getPercent().toFixed(2); 91 | this.percentLabel.string = parseInt(percent * 100) + '%'; 92 | break; 93 | case jsb.EventAssetsManager.ERROR_DOWNLOAD_MANIFEST: 94 | case jsb.EventAssetsManager.ERROR_PARSE_MANIFEST: 95 | this.prmopt.string = '下载Manifest文件失败'; 96 | break; 97 | case jsb.EventAssetsManager.ALREADY_UP_TO_DATE: 98 | this.prmopt.string = '已更新到最新版本'; 99 | break; 100 | case jsb.EventAssetsManager.UPDATE_FINISHED: 101 | this.prmopt.string = '更新成功,正在重启游戏...'; 102 | 103 | cc.eventManager.removeListener(this._updateListener); 104 | this._updateListener = null; 105 | this._updating = false; 106 | 107 | break; 108 | case jsb.EventAssetsManager.UPDATE_FAILED: 109 | this._updating = false; 110 | this.prmopt.string = '更新失败'; 111 | break; 112 | case jsb.EventAssetsManager.ERROR_UPDATING: 113 | this.prmopt.string = '更新文件错误 ' + event.getAssetId() + ', ' + event.getMessage(); 114 | break; 115 | case jsb.EventAssetsManager.ERROR_DECOMPRESS: 116 | this.prmopt.string = event.getMessage(); 117 | break; 118 | default: 119 | break; 120 | } 121 | }, 122 | 123 | retry: function () { 124 | if (!this._updating && this._canRetry) { 125 | this._canRetry = false; 126 | 127 | this.prmopt.string = '更新失败,再次更新'; 128 | this._am.downloadFailedAssets(); 129 | } 130 | }, 131 | 132 | checkUpdate: function () { 133 | let UIRLFILE = "http://192.168.92.59/update/remote-assets"; 134 | let remoteManifestUrl = this._storagePath + "/project.manifest"; 135 | this.manifestUrl = remoteManifestUrl; 136 | 137 | let customManifestStr = JSON.stringify({ 138 | "packageUrl": UIRLFILE, 139 | "remoteManifestUrl": UIRLFILE + "/project.manifest", 140 | "remoteVersionUrl": UIRLFILE + "/version.manifest", 141 | "version": "1.0.0.0", 142 | "assets": {}, 143 | "searchPaths": [] 144 | }); 145 | 146 | this._checkListener = new jsb.EventListenerAssetsManager(this._am, this.checkCb.bind(this)); 147 | cc.eventManager.addListener(this._checkListener, 1); 148 | 149 | if (this._am.getState() === jsb.AssetsManager.State.UNINITED) { 150 | if (jsb.fileUtils.isFileExist(remoteManifestUrl)) { 151 | console.log('加载本地Manifest'); 152 | this._am.loadLocalManifest(this.manifestUrl); 153 | } else { 154 | console.log('加载网络Manifest'); 155 | let manifest = new jsb.Manifest(customManifestStr, this._storagePath); 156 | this._am.loadLocalManifest(manifest, this._storagePath); 157 | } 158 | } 159 | this.prmopt.string = '正在检查版本信息'; 160 | this._am.checkUpdate(); 161 | this._updating = true; 162 | }, 163 | 164 | hotUpdate: function () { 165 | 166 | if (this._am) { 167 | this._updateListener = new jsb.EventListenerAssetsManager(this._am, this.updateCb.bind(this)); 168 | cc.eventManager.addListener(this._updateListener, 1); 169 | 170 | if (this._am.getState() === jsb.AssetsManager.State.UNINITED) { 171 | console.log('load local manifest'); 172 | this._am.loadLocalManifest(this.manifestUrl); 173 | } 174 | console.log('update'); 175 | this._am.update(); 176 | } 177 | }, 178 | 179 | getVersion: function () { //获取版本信息 180 | if (cc.sys.isBrowser) { 181 | return; 182 | } 183 | if (this._am.getState() === jsb.AssetsManager.State.UNINITED) { 184 | this._am.loadLocalManifest(this.manifestUrl); 185 | } 186 | return this._am.getLocalManifest().getVersion(); 187 | }, 188 | 189 | 190 | enter_sub_game: function() { 191 | if (!this._storagePath) { 192 | this.prompt.string = "请先点击下载游戏,检查版本是否更新!!!"; 193 | return; 194 | } 195 | 196 | console.log('subgame path = '+ this._storagePath); 197 | require(this._storagePath + "/src/main.js"); 198 | }, 199 | 200 | onDestroy: function () { 201 | if (this._updateListener) { 202 | cc.eventManager.removeListener(this._updateListener); 203 | this._updateListener = null; 204 | } 205 | if (this._am && !cc.sys.ENABLE_GC_FOR_NATIVE_OBJECTS) { 206 | this._am.release(); 207 | } 208 | } 209 | }); 210 | -------------------------------------------------------------------------------- /ChildGame/main.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | 3 | // if (cc && cc.sys.isNative) { 4 | // var hotUpdateSearchPaths = cc.sys.localStorage.getItem('HotUpdateSearchPaths'); 5 | // if (hotUpdateSearchPaths) { 6 | // jsb.fileUtils.setSearchPaths(JSON.parse(hotUpdateSearchPaths)); 7 | // console.log('[main.js] 热更新SearchPath: ' + JSON.parse(hotUpdateSearchPaths)); 8 | // } 9 | // } 10 | // 这是为了解决一个重启的 bug 而添加的 11 | cc.director.startAnimation(); 12 | 13 | 'use strict'; 14 | cc.INGAME = (jsb.fileUtils ? jsb.fileUtils.getWritablePath() : '/') + "ALLGame/subgame"; 15 | 16 | var _CCSettings = null; 17 | 18 | function boot() { 19 | var settings = _CCSettings; 20 | window._CCSettings = undefined; 21 | 22 | if (!settings.debug) { 23 | var uuids = settings.uuids; 24 | 25 | var rawAssets = settings.rawAssets; 26 | var assetTypes = settings.assetTypes; 27 | var realRawAssets = settings.rawAssets = {}; 28 | for (var mount in rawAssets) { 29 | var entries = rawAssets[mount]; 30 | var realEntries = realRawAssets[mount] = {}; 31 | for (var id in entries) { 32 | var entry = entries[id]; 33 | var type = entry[1]; 34 | // retrieve minified raw asset 35 | if (typeof type === 'number') { 36 | entry[1] = assetTypes[type]; 37 | } 38 | // retrieve uuid 39 | realEntries[uuids[id] || id] = entry; 40 | } 41 | } 42 | 43 | var scenes = settings.scenes; 44 | for (var i = 0; i < scenes.length; ++i) { 45 | var scene = scenes[i]; 46 | if (typeof scene.uuid === 'number') { 47 | scene.uuid = uuids[scene.uuid]; 48 | } 49 | } 50 | 51 | var packedAssets = settings.packedAssets; 52 | for (var packId in packedAssets) { 53 | var packedIds = packedAssets[packId]; 54 | for (var j = 0; j < packedIds.length; ++j) { 55 | if (typeof packedIds[j] === 'number') { 56 | packedIds[j] = uuids[packedIds[j]]; 57 | } 58 | } 59 | } 60 | } 61 | 62 | // init engine 63 | var canvas; 64 | 65 | if (cc.sys.isBrowser) { 66 | canvas = document.getElementById('GameCanvas'); 67 | } 68 | 69 | function setLoadingDisplay() { 70 | // Loading splash scene 71 | var splash = document.getElementById('splash'); 72 | var progressBar = splash.querySelector('.progress-bar span'); 73 | cc.loader.onProgress = function (completedCount, totalCount, item) { 74 | var percent = 100 * completedCount / totalCount; 75 | if (progressBar) { 76 | progressBar.style.width = percent.toFixed(2) + '%'; 77 | } 78 | }; 79 | splash.style.display = 'block'; 80 | progressBar.style.width = '0%'; 81 | 82 | cc.director.once(cc.Director.EVENT_AFTER_SCENE_LAUNCH, function () { 83 | splash.style.display = 'none'; 84 | }); 85 | } 86 | 87 | var onStart = function () { 88 | cc.view.resizeWithBrowserSize(true); 89 | // UC browser on many android devices have performance issue with retina display 90 | if (cc.sys.os !== cc.sys.OS_ANDROID || cc.sys.browserType !== cc.sys.BROWSER_TYPE_UC) { 91 | cc.view.enableRetina(true); 92 | } 93 | //cc.view.setDesignResolutionSize(settings.designWidth, settings.designHeight, cc.ResolutionPolicy.SHOW_ALL); 94 | 95 | if (cc.sys.isBrowser) { 96 | setLoadingDisplay(); 97 | } 98 | 99 | if (cc.sys.isMobile) { 100 | if (settings.orientation === 'landscape') { 101 | cc.view.setOrientation(cc.macro.ORIENTATION_LANDSCAPE); 102 | } 103 | else if (settings.orientation === 'portrait') { 104 | cc.view.setOrientation(cc.macro.ORIENTATION_PORTRAIT); 105 | } 106 | // qq, wechat, baidu 107 | cc.view.enableAutoFullScreen( 108 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_BAIDU && 109 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_WECHAT && 110 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_MOBILE_QQ 111 | ); 112 | } 113 | 114 | // Limit downloading max concurrent task to 2, 115 | // more tasks simultaneously may cause performance draw back on some android system / brwosers. 116 | // You can adjust the number based on your own test result, you have to set it before any loading process to take effect. 117 | if (cc.sys.isBrowser && cc.sys.os === cc.sys.OS_ANDROID) { 118 | cc.macro.DOWNLOAD_MAX_CONCURRENT = 2; 119 | } 120 | 121 | 122 | // init assets 123 | cc.AssetLibrary.init({ 124 | libraryPath: 'res/import', 125 | rawAssetsBase: 'res/raw-', 126 | rawAssets: settings.rawAssets, 127 | packedAssets: settings.packedAssets, 128 | md5AssetsMap: settings.md5AssetsMap 129 | }); 130 | 131 | var launchScene = settings.launchScene; 132 | 133 | // load scene 134 | if (cc.runtime) { 135 | cc.director.setRuntimeLaunchScene(launchScene); 136 | } 137 | cc.director.loadScene(launchScene, null, 138 | function () { 139 | if (cc.sys.isBrowser) { 140 | // show canvas 141 | canvas.style.visibility = ''; 142 | var div = document.getElementById('GameDiv'); 143 | if (div) { 144 | div.style.backgroundImage = ''; 145 | } 146 | } 147 | cc.loader.onProgress = null; 148 | 149 | // play game 150 | // cc.game.resume(); 151 | 152 | console.log('Success to load scene: ' + launchScene); 153 | } 154 | ); 155 | }; 156 | 157 | // jsList 158 | var jsList = settings.jsList; 159 | var bundledScript = settings.debug ? 'project.dev.js' : 'project.js'; 160 | if (jsList) { 161 | jsList.push(bundledScript); 162 | } 163 | else { 164 | jsList = [bundledScript]; 165 | } 166 | 167 | // anysdk scripts 168 | if (cc.sys.isNative && cc.sys.isMobile) { 169 | // jsList = jsList.concat(['jsb_anysdk.js', 'jsb_anysdk_constants.js']); 170 | } 171 | 172 | jsList = jsList.map(function (x) { 173 | return cc.INGAME + 'src/' + x; 174 | }); 175 | 176 | var option = { 177 | //width: width, 178 | //height: height, 179 | id: 'GameCanvas', 180 | scenes: settings.scenes, 181 | debugMode: settings.debug ? cc.DebugMode.INFO : cc.DebugMode.ERROR, 182 | showFPS: settings.debug, 183 | frameRate: 60, 184 | jsList: jsList, 185 | groupList: settings.groupList, 186 | collisionMatrix: settings.collisionMatrix, 187 | renderMode: 0 188 | }; 189 | 190 | cc.game.run(option, onStart); 191 | } 192 | 193 | if (window.document) { 194 | var splash = document.getElementById('splash'); 195 | splash.style.display = 'block'; 196 | 197 | var cocos2d = document.createElement('script'); 198 | cocos2d.async = true; 199 | cocos2d.src = window._CCSettings.debug ? 'cocos2d-js.js' : 'cocos2d-js-min.js'; 200 | 201 | var engineLoaded = function () { 202 | document.body.removeChild(cocos2d); 203 | cocos2d.removeEventListener('load', engineLoaded, false); 204 | window.eruda && eruda.init(); 205 | boot(); 206 | }; 207 | cocos2d.addEventListener('load', engineLoaded, false); 208 | document.body.appendChild(cocos2d); 209 | } 210 | else if (window.jsb) { 211 | if (!cc.chilgame) { 212 | 213 | cc.chilgame = _CCSettings = require(cc.INGAME + '/src/settings.js'); 214 | require(cc.INGAME + '/src/project.js'); 215 | 216 | } else { 217 | _CCSettings = cc.chilgame; 218 | } 219 | boot(); 220 | } 221 | 222 | })(); 223 | -------------------------------------------------------------------------------- /ChildGame/childgame/src/dating.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | 3 | // if (cc && cc.sys.isNative) { 4 | // var hotUpdateSearchPaths = cc.sys.localStorage.getItem('HotUpdateSearchPaths'); 5 | // if (hotUpdateSearchPaths) { 6 | // jsb.fileUtils.setSearchPaths(JSON.parse(hotUpdateSearchPaths)); 7 | // console.log('[main.js] 热更新SearchPath: ' + JSON.parse(hotUpdateSearchPaths)); 8 | // } 9 | // } 10 | // 这是为了解决一个重启的 bug 而添加的 11 | cc.director.startAnimation(); 12 | 13 | 'use strict'; 14 | cc.INGAME = '';//(jsb.fileUtils ? jsb.fileUtils.getWritablePath() : '/'); 15 | console.log('cc.INGAME========dating.js============================'+cc.INGAME); 16 | var _CCSettings = null; 17 | function boot() { 18 | 19 | var settings = _CCSettings; 20 | window._CCSettings = undefined; 21 | 22 | if (!settings.debug) { 23 | var uuids = settings.uuids; 24 | 25 | var rawAssets = settings.rawAssets; 26 | var assetTypes = settings.assetTypes; 27 | var realRawAssets = settings.rawAssets = {}; 28 | for (var mount in rawAssets) { 29 | var entries = rawAssets[mount]; 30 | var realEntries = realRawAssets[mount] = {}; 31 | for (var id in entries) { 32 | var entry = entries[id]; 33 | var type = entry[1]; 34 | // retrieve minified raw asset 35 | if (typeof type === 'number') { 36 | entry[1] = assetTypes[type]; 37 | } 38 | // retrieve uuid 39 | realEntries[uuids[id] || id] = entry; 40 | } 41 | } 42 | 43 | var scenes = settings.scenes; 44 | for (var i = 0; i < scenes.length; ++i) { 45 | var scene = scenes[i]; 46 | if (typeof scene.uuid === 'number') { 47 | scene.uuid = uuids[scene.uuid]; 48 | } 49 | } 50 | 51 | var packedAssets = settings.packedAssets; 52 | for (var packId in packedAssets) { 53 | var packedIds = packedAssets[packId]; 54 | for (var j = 0; j < packedIds.length; ++j) { 55 | if (typeof packedIds[j] === 'number') { 56 | packedIds[j] = uuids[packedIds[j]]; 57 | } 58 | } 59 | } 60 | } 61 | 62 | // init engine 63 | var canvas; 64 | 65 | if (cc.sys.isBrowser) { 66 | canvas = document.getElementById('GameCanvas'); 67 | } 68 | 69 | function setLoadingDisplay() { 70 | // Loading splash scene 71 | var splash = document.getElementById('splash'); 72 | var progressBar = splash.querySelector('.progress-bar span'); 73 | cc.loader.onProgress = function (completedCount, totalCount, item) { 74 | var percent = 100 * completedCount / totalCount; 75 | if (progressBar) { 76 | progressBar.style.width = percent.toFixed(2) + '%'; 77 | } 78 | }; 79 | splash.style.display = 'block'; 80 | progressBar.style.width = '0%'; 81 | 82 | cc.director.once(cc.Director.EVENT_AFTER_SCENE_LAUNCH, function () { 83 | splash.style.display = 'none'; 84 | }); 85 | } 86 | 87 | var onStart = function () { 88 | cc.view.resizeWithBrowserSize(true); 89 | // UC browser on many android devices have performance issue with retina display 90 | if (cc.sys.os !== cc.sys.OS_ANDROID || cc.sys.browserType !== cc.sys.BROWSER_TYPE_UC) { 91 | cc.view.enableRetina(true); 92 | } 93 | //cc.view.setDesignResolutionSize(settings.designWidth, settings.designHeight, cc.ResolutionPolicy.SHOW_ALL); 94 | 95 | if (cc.sys.isBrowser) { 96 | setLoadingDisplay(); 97 | } 98 | 99 | if (cc.sys.isMobile) { 100 | if (settings.orientation === 'landscape') { 101 | cc.view.setOrientation(cc.macro.ORIENTATION_LANDSCAPE); 102 | } 103 | else if (settings.orientation === 'portrait') { 104 | cc.view.setOrientation(cc.macro.ORIENTATION_PORTRAIT); 105 | } 106 | // qq, wechat, baidu 107 | cc.view.enableAutoFullScreen( 108 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_BAIDU && 109 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_WECHAT && 110 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_MOBILE_QQ 111 | ); 112 | } 113 | 114 | // Limit downloading max concurrent task to 2, 115 | // more tasks simultaneously may cause performance draw back on some android system / brwosers. 116 | // You can adjust the number based on your own test result, you have to set it before any loading process to take effect. 117 | if (cc.sys.isBrowser && cc.sys.os === cc.sys.OS_ANDROID) { 118 | cc.macro.DOWNLOAD_MAX_CONCURRENT = 2; 119 | } 120 | 121 | 122 | // init assets 123 | cc.AssetLibrary.init({ 124 | libraryPath: 'res/import', 125 | rawAssetsBase: 'res/raw-', 126 | rawAssets: settings.rawAssets, 127 | packedAssets: settings.packedAssets, 128 | md5AssetsMap: settings.md5AssetsMap 129 | }); 130 | 131 | var launchScene = settings.launchScene; 132 | 133 | // load scene 134 | if (cc.runtime) { 135 | cc.director.setRuntimeLaunchScene(launchScene); 136 | } 137 | cc.director.loadScene(launchScene, null, 138 | function () { 139 | if (cc.sys.isBrowser) { 140 | // show canvas 141 | canvas.style.visibility = ''; 142 | var div = document.getElementById('GameDiv'); 143 | if (div) { 144 | div.style.backgroundImage = ''; 145 | } 146 | } 147 | cc.loader.onProgress = null; 148 | 149 | // play game 150 | // cc.game.resume(); 151 | 152 | console.log('Success to load scene: ' + launchScene); 153 | } 154 | ); 155 | }; 156 | 157 | // jsList 158 | var jsList = settings.jsList; 159 | var bundledScript = settings.debug ? 'project.dev.js' : 'project.js'; 160 | if (jsList) { 161 | jsList.push(bundledScript); 162 | } 163 | else { 164 | jsList = [bundledScript]; 165 | } 166 | 167 | // anysdk scripts 168 | if (cc.sys.isNative && cc.sys.isMobile) { 169 | // jsList = jsList.concat(['jsb_anysdk.js', 'jsb_anysdk_constants.js']); 170 | } 171 | 172 | jsList = jsList.map(function (x) { 173 | return cc.INGAME + 'src/' + x; 174 | }); 175 | 176 | var option = { 177 | //width: width, 178 | //height: height, 179 | id: 'GameCanvas', 180 | scenes: settings.scenes, 181 | debugMode: settings.debug ? cc.DebugMode.INFO : cc.DebugMode.ERROR, 182 | showFPS: settings.debug, 183 | frameRate: 60, 184 | jsList: jsList, 185 | groupList: settings.groupList, 186 | collisionMatrix: settings.collisionMatrix, 187 | renderMode: 0 188 | }; 189 | 190 | cc.game.run(option, onStart); 191 | } 192 | 193 | if (window.document) { 194 | var splash = document.getElementById('splash'); 195 | splash.style.display = 'block'; 196 | 197 | var cocos2d = document.createElement('script'); 198 | cocos2d.async = true; 199 | cocos2d.src = window._CCSettings.debug ? 'cocos2d-js.js' : 'cocos2d-js-min.js'; 200 | 201 | var engineLoaded = function () { 202 | document.body.removeChild(cocos2d); 203 | cocos2d.removeEventListener('load', engineLoaded, false); 204 | window.eruda && eruda.init(); 205 | boot(); 206 | }; 207 | cocos2d.addEventListener('load', engineLoaded, false); 208 | document.body.appendChild(cocos2d); 209 | } 210 | else if (window.jsb) { 211 | console.log('返回大厅======================================='); 212 | if (!cc.dating) { 213 | cc.dating = _CCSettings = require(cc.INGAME + 'src/settings.js'); 214 | } else { 215 | 216 | _CCSettings = cc.dating; 217 | } 218 | boot(); 219 | } 220 | 221 | })(); 222 | -------------------------------------------------------------------------------- /ChildGame/dating.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | 3 | // if (cc && cc.sys.isNative) { 4 | // var hotUpdateSearchPaths = cc.sys.localStorage.getItem('HotUpdateSearchPaths'); 5 | // if (hotUpdateSearchPaths) { 6 | // jsb.fileUtils.setSearchPaths(JSON.parse(hotUpdateSearchPaths)); 7 | // console.log('[main.js] 热更新SearchPath: ' + JSON.parse(hotUpdateSearchPaths)); 8 | // } 9 | // } 10 | // 这是为了解决一个重启的 bug 而添加的 11 | cc.director.startAnimation(); 12 | 13 | 'use strict'; 14 | cc.INGAME = '';//(jsb.fileUtils ? jsb.fileUtils.getWritablePath() : '/'); 15 | console.log('cc.INGAME========dating.js============================'+cc.INGAME); 16 | var _CCSettings = null; 17 | function boot() { 18 | 19 | var settings = _CCSettings; 20 | window._CCSettings = undefined; 21 | 22 | if (!settings.debug) { 23 | var uuids = settings.uuids; 24 | 25 | var rawAssets = settings.rawAssets; 26 | var assetTypes = settings.assetTypes; 27 | var realRawAssets = settings.rawAssets = {}; 28 | for (var mount in rawAssets) { 29 | var entries = rawAssets[mount]; 30 | var realEntries = realRawAssets[mount] = {}; 31 | for (var id in entries) { 32 | var entry = entries[id]; 33 | var type = entry[1]; 34 | // retrieve minified raw asset 35 | if (typeof type === 'number') { 36 | entry[1] = assetTypes[type]; 37 | } 38 | // retrieve uuid 39 | realEntries[uuids[id] || id] = entry; 40 | } 41 | } 42 | 43 | var scenes = settings.scenes; 44 | for (var i = 0; i < scenes.length; ++i) { 45 | var scene = scenes[i]; 46 | if (typeof scene.uuid === 'number') { 47 | scene.uuid = uuids[scene.uuid]; 48 | } 49 | } 50 | 51 | var packedAssets = settings.packedAssets; 52 | for (var packId in packedAssets) { 53 | var packedIds = packedAssets[packId]; 54 | for (var j = 0; j < packedIds.length; ++j) { 55 | if (typeof packedIds[j] === 'number') { 56 | packedIds[j] = uuids[packedIds[j]]; 57 | } 58 | } 59 | } 60 | } 61 | 62 | // init engine 63 | var canvas; 64 | 65 | if (cc.sys.isBrowser) { 66 | canvas = document.getElementById('GameCanvas'); 67 | } 68 | 69 | function setLoadingDisplay() { 70 | // Loading splash scene 71 | var splash = document.getElementById('splash'); 72 | var progressBar = splash.querySelector('.progress-bar span'); 73 | cc.loader.onProgress = function (completedCount, totalCount, item) { 74 | var percent = 100 * completedCount / totalCount; 75 | if (progressBar) { 76 | progressBar.style.width = percent.toFixed(2) + '%'; 77 | } 78 | }; 79 | splash.style.display = 'block'; 80 | progressBar.style.width = '0%'; 81 | 82 | cc.director.once(cc.Director.EVENT_AFTER_SCENE_LAUNCH, function () { 83 | splash.style.display = 'none'; 84 | }); 85 | } 86 | 87 | var onStart = function () { 88 | cc.view.resizeWithBrowserSize(true); 89 | // UC browser on many android devices have performance issue with retina display 90 | if (cc.sys.os !== cc.sys.OS_ANDROID || cc.sys.browserType !== cc.sys.BROWSER_TYPE_UC) { 91 | cc.view.enableRetina(true); 92 | } 93 | //cc.view.setDesignResolutionSize(settings.designWidth, settings.designHeight, cc.ResolutionPolicy.SHOW_ALL); 94 | 95 | if (cc.sys.isBrowser) { 96 | setLoadingDisplay(); 97 | } 98 | 99 | if (cc.sys.isMobile) { 100 | if (settings.orientation === 'landscape') { 101 | cc.view.setOrientation(cc.macro.ORIENTATION_LANDSCAPE); 102 | } 103 | else if (settings.orientation === 'portrait') { 104 | cc.view.setOrientation(cc.macro.ORIENTATION_PORTRAIT); 105 | } 106 | // qq, wechat, baidu 107 | cc.view.enableAutoFullScreen( 108 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_BAIDU && 109 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_WECHAT && 110 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_MOBILE_QQ 111 | ); 112 | } 113 | 114 | // Limit downloading max concurrent task to 2, 115 | // more tasks simultaneously may cause performance draw back on some android system / brwosers. 116 | // You can adjust the number based on your own test result, you have to set it before any loading process to take effect. 117 | if (cc.sys.isBrowser && cc.sys.os === cc.sys.OS_ANDROID) { 118 | cc.macro.DOWNLOAD_MAX_CONCURRENT = 2; 119 | } 120 | 121 | 122 | // init assets 123 | cc.AssetLibrary.init({ 124 | libraryPath: 'res/import', 125 | rawAssetsBase: 'res/raw-', 126 | rawAssets: settings.rawAssets, 127 | packedAssets: settings.packedAssets, 128 | md5AssetsMap: settings.md5AssetsMap 129 | }); 130 | 131 | var launchScene = settings.launchScene; 132 | 133 | // load scene 134 | if (cc.runtime) { 135 | cc.director.setRuntimeLaunchScene(launchScene); 136 | } 137 | cc.director.loadScene(launchScene, null, 138 | function () { 139 | if (cc.sys.isBrowser) { 140 | // show canvas 141 | canvas.style.visibility = ''; 142 | var div = document.getElementById('GameDiv'); 143 | if (div) { 144 | div.style.backgroundImage = ''; 145 | } 146 | } 147 | cc.loader.onProgress = null; 148 | 149 | // play game 150 | // cc.game.resume(); 151 | 152 | console.log('Success to load scene: ' + launchScene); 153 | } 154 | ); 155 | }; 156 | 157 | // jsList 158 | var jsList = settings.jsList; 159 | var bundledScript = settings.debug ? 'project.dev.js' : 'project.js'; 160 | if (jsList) { 161 | jsList.push(bundledScript); 162 | } 163 | else { 164 | jsList = [bundledScript]; 165 | } 166 | 167 | // anysdk scripts 168 | if (cc.sys.isNative && cc.sys.isMobile) { 169 | // jsList = jsList.concat(['jsb_anysdk.js', 'jsb_anysdk_constants.js']); 170 | } 171 | 172 | jsList = jsList.map(function (x) { 173 | return cc.INGAME + 'src/' + x; 174 | }); 175 | 176 | var option = { 177 | //width: width, 178 | //height: height, 179 | id: 'GameCanvas', 180 | scenes: settings.scenes, 181 | debugMode: settings.debug ? cc.DebugMode.INFO : cc.DebugMode.ERROR, 182 | showFPS: settings.debug, 183 | frameRate: 60, 184 | jsList: jsList, 185 | groupList: settings.groupList, 186 | collisionMatrix: settings.collisionMatrix, 187 | renderMode: 0 188 | }; 189 | 190 | cc.game.run(option, onStart); 191 | } 192 | 193 | if (window.document) { 194 | var splash = document.getElementById('splash'); 195 | splash.style.display = 'block'; 196 | 197 | var cocos2d = document.createElement('script'); 198 | cocos2d.async = true; 199 | cocos2d.src = window._CCSettings.debug ? 'cocos2d-js.js' : 'cocos2d-js-min.js'; 200 | 201 | var engineLoaded = function () { 202 | document.body.removeChild(cocos2d); 203 | cocos2d.removeEventListener('load', engineLoaded, false); 204 | window.eruda && eruda.init(); 205 | boot(); 206 | }; 207 | cocos2d.addEventListener('load', engineLoaded, false); 208 | document.body.appendChild(cocos2d); 209 | } 210 | else if (window.jsb) { 211 | console.log('返回大厅======================================='); 212 | if (!cc.dating) { 213 | cc.dating = _CCSettings = require(cc.INGAME + 'src/settings.js'); 214 | require(cc.INGAME + 'src/project.js'); 215 | } else { 216 | 217 | _CCSettings = cc.dating; 218 | } 219 | boot(); 220 | } 221 | 222 | })(); 223 | -------------------------------------------------------------------------------- /ChildGame/childgame/src/main.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | 3 | // if (cc && cc.sys.isNative) { 4 | // var hotUpdateSearchPaths = cc.sys.localStorage.getItem('HotUpdateSearchPaths'); 5 | // if (hotUpdateSearchPaths) { 6 | // jsb.fileUtils.setSearchPaths(JSON.parse(hotUpdateSearchPaths)); 7 | // console.log('[main.js] 热更新SearchPath: ' + JSON.parse(hotUpdateSearchPaths)); 8 | // } 9 | // } 10 | // 这是为了解决一个重启的 bug 而添加的 11 | cc.director.startAnimation(); 12 | 13 | 'use strict'; 14 | cc.INGAME = (jsb.fileUtils ? jsb.fileUtils.getWritablePath() : '/') + "ALLGame/subgame"; 15 | console.log('cc.INGAME========子游戏============================'+cc.INGAME); 16 | var _CCSettings = null; 17 | function boot() { 18 | console.log('setteing配置+'+_CCSettings); 19 | var settings = _CCSettings; 20 | window._CCSettings = undefined; 21 | 22 | if (!settings.debug) { 23 | var uuids = settings.uuids; 24 | 25 | var rawAssets = settings.rawAssets; 26 | var assetTypes = settings.assetTypes; 27 | var realRawAssets = settings.rawAssets = {}; 28 | for (var mount in rawAssets) { 29 | var entries = rawAssets[mount]; 30 | var realEntries = realRawAssets[mount] = {}; 31 | for (var id in entries) { 32 | var entry = entries[id]; 33 | var type = entry[1]; 34 | // retrieve minified raw asset 35 | if (typeof type === 'number') { 36 | entry[1] = assetTypes[type]; 37 | } 38 | // retrieve uuid 39 | realEntries[uuids[id] || id] = entry; 40 | } 41 | } 42 | 43 | var scenes = settings.scenes; 44 | for (var i = 0; i < scenes.length; ++i) { 45 | var scene = scenes[i]; 46 | if (typeof scene.uuid === 'number') { 47 | scene.uuid = uuids[scene.uuid]; 48 | } 49 | } 50 | 51 | var packedAssets = settings.packedAssets; 52 | for (var packId in packedAssets) { 53 | var packedIds = packedAssets[packId]; 54 | for (var j = 0; j < packedIds.length; ++j) { 55 | if (typeof packedIds[j] === 'number') { 56 | packedIds[j] = uuids[packedIds[j]]; 57 | } 58 | } 59 | } 60 | } 61 | 62 | // init engine 63 | var canvas; 64 | 65 | if (cc.sys.isBrowser) { 66 | canvas = document.getElementById('GameCanvas'); 67 | } 68 | 69 | function setLoadingDisplay() { 70 | // Loading splash scene 71 | var splash = document.getElementById('splash'); 72 | var progressBar = splash.querySelector('.progress-bar span'); 73 | cc.loader.onProgress = function (completedCount, totalCount, item) { 74 | var percent = 100 * completedCount / totalCount; 75 | if (progressBar) { 76 | progressBar.style.width = percent.toFixed(2) + '%'; 77 | } 78 | }; 79 | splash.style.display = 'block'; 80 | progressBar.style.width = '0%'; 81 | 82 | cc.director.once(cc.Director.EVENT_AFTER_SCENE_LAUNCH, function () { 83 | splash.style.display = 'none'; 84 | }); 85 | } 86 | 87 | var onStart = function () { 88 | cc.view.resizeWithBrowserSize(true); 89 | // UC browser on many android devices have performance issue with retina display 90 | if (cc.sys.os !== cc.sys.OS_ANDROID || cc.sys.browserType !== cc.sys.BROWSER_TYPE_UC) { 91 | cc.view.enableRetina(true); 92 | } 93 | //cc.view.setDesignResolutionSize(settings.designWidth, settings.designHeight, cc.ResolutionPolicy.SHOW_ALL); 94 | 95 | if (cc.sys.isBrowser) { 96 | setLoadingDisplay(); 97 | } 98 | 99 | if (cc.sys.isMobile) { 100 | if (settings.orientation === 'landscape') { 101 | cc.view.setOrientation(cc.macro.ORIENTATION_LANDSCAPE); 102 | } 103 | else if (settings.orientation === 'portrait') { 104 | cc.view.setOrientation(cc.macro.ORIENTATION_PORTRAIT); 105 | } 106 | // qq, wechat, baidu 107 | cc.view.enableAutoFullScreen( 108 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_BAIDU && 109 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_WECHAT && 110 | cc.sys.browserType !== cc.sys.BROWSER_TYPE_MOBILE_QQ 111 | ); 112 | } 113 | 114 | // Limit downloading max concurrent task to 2, 115 | // more tasks simultaneously may cause performance draw back on some android system / brwosers. 116 | // You can adjust the number based on your own test result, you have to set it before any loading process to take effect. 117 | if (cc.sys.isBrowser && cc.sys.os === cc.sys.OS_ANDROID) { 118 | cc.macro.DOWNLOAD_MAX_CONCURRENT = 2; 119 | } 120 | 121 | 122 | // init assets 123 | cc.AssetLibrary.init({ 124 | libraryPath: 'res/import', 125 | rawAssetsBase: 'res/raw-', 126 | rawAssets: settings.rawAssets, 127 | packedAssets: settings.packedAssets, 128 | md5AssetsMap: settings.md5AssetsMap 129 | }); 130 | 131 | var launchScene = settings.launchScene; 132 | 133 | // load scene 134 | if (cc.runtime) { 135 | cc.director.setRuntimeLaunchScene(launchScene); 136 | } 137 | cc.director.loadScene(launchScene, null, 138 | function () { 139 | if (cc.sys.isBrowser) { 140 | // show canvas 141 | canvas.style.visibility = ''; 142 | var div = document.getElementById('GameDiv'); 143 | if (div) { 144 | div.style.backgroundImage = ''; 145 | } 146 | } 147 | cc.loader.onProgress = null; 148 | 149 | // play game 150 | // cc.game.resume(); 151 | 152 | console.log('Success to load scene: ' + launchScene); 153 | } 154 | ); 155 | }; 156 | 157 | // jsList 158 | var jsList = settings.jsList; 159 | var bundledScript = settings.debug ? 'project.dev.js' : 'project.js'; 160 | if (jsList) { 161 | jsList.push(bundledScript); 162 | } 163 | else { 164 | jsList = [bundledScript]; 165 | } 166 | 167 | // anysdk scripts 168 | if (cc.sys.isNative && cc.sys.isMobile) { 169 | // jsList = jsList.concat(['jsb_anysdk.js', 'jsb_anysdk_constants.js']); 170 | } 171 | 172 | jsList = jsList.map(function (x) { 173 | return cc.INGAME + 'src/' + x; 174 | }); 175 | 176 | var option = { 177 | //width: width, 178 | //height: height, 179 | id: 'GameCanvas', 180 | scenes: settings.scenes, 181 | debugMode: settings.debug ? cc.DebugMode.INFO : cc.DebugMode.ERROR, 182 | showFPS: settings.debug, 183 | frameRate: 60, 184 | jsList: jsList, 185 | groupList: settings.groupList, 186 | collisionMatrix: settings.collisionMatrix, 187 | renderMode: 0 188 | }; 189 | 190 | cc.game.run(option, onStart); 191 | } 192 | 193 | if (window.document) { 194 | var splash = document.getElementById('splash'); 195 | splash.style.display = 'block'; 196 | 197 | var cocos2d = document.createElement('script'); 198 | cocos2d.async = true; 199 | cocos2d.src = window._CCSettings.debug ? 'cocos2d-js.js' : 'cocos2d-js-min.js'; 200 | 201 | var engineLoaded = function () { 202 | document.body.removeChild(cocos2d); 203 | cocos2d.removeEventListener('load', engineLoaded, false); 204 | window.eruda && eruda.init(); 205 | boot(); 206 | }; 207 | cocos2d.addEventListener('load', engineLoaded, false); 208 | document.body.appendChild(cocos2d); 209 | } 210 | else if (window.jsb) { 211 | console.log('返回大厅======================================='); 212 | if (!cc.chilgame) { 213 | cc.chilgame = _CCSettings = require(cc.INGAME + '/src/settings.js'); 214 | console.log('加载settings.js成功 cc.chilgame'+cc.chilgame); 215 | require('src/project.js'); 216 | console.log('加载project.js成功'); 217 | } else { 218 | 219 | _CCSettings = cc.chilgame; 220 | } 221 | boot(); 222 | } 223 | 224 | })(); 225 | -------------------------------------------------------------------------------- /hall/assets/hall.js: -------------------------------------------------------------------------------- 1 | cc.Class({ 2 | extends: cc.Component, 3 | 4 | properties: { 5 | }, 6 | 7 | onLoad: function() { 8 | this.label = cc.find('Canvas/label').getComponent(cc.Label); 9 | }, 10 | 11 | start() { 12 | this._initAssetManage(); 13 | }, 14 | 15 | _initAssetManage() { 16 | if (cc.sys.isBrowser) { 17 | return; 18 | } 19 | 20 | this._storagePath = ((jsb.fileUtils ? jsb.fileUtils.getWritablePath() : '/') + 'ALLGame/subgame'); 21 | 22 | let versionCompareHandle = function (versionA, versionB) { 23 | let vA = versionA.split('.'); 24 | let vB = versionB.split('.'); 25 | for (let i = 0; i < vA.length; ++i) { 26 | let a = parseInt(vA[i]); 27 | let b = parseInt(vB[i] || 0); 28 | if (a !== b) { 29 | return a - b; 30 | } 31 | } 32 | return vB.length > vA.length ? -1 : 0; 33 | }; 34 | 35 | this._am = new jsb.AssetsManager('', this._storagePath, versionCompareHandle); 36 | 37 | this._am.setVerifyCallback((filePath, asset) => { //获取下载下来的文件的MD5跟manifest文件的md5进行比较,是否文件有问题 38 | // if (filePath.endsWith('project.manifest')) return true; 39 | // let data = jsb.fileUtils.getDataFromFile(filePath); 40 | // let fileMD5 = MD5(data); 41 | // let assetsMD5 = asset.md5; 42 | // return (fileMD5 === assetsMD5 || assetsMD5 === '111111'); 43 | }); 44 | 45 | if (!cc.sys.ENABLE_GC_FOR_NATIVE_OBJECTS) { 46 | this._am.retain(); 47 | } 48 | 49 | if (cc.sys.os === cc.sys.OS_ANDROID) { 50 | this._am.setMaxConcurrentTask(2); 51 | } 52 | }, 53 | 54 | _chechUpdate() { 55 | 56 | if (cc.sys.isBrowser) return; 57 | 58 | let UIRLFILE = "http://192.168.92.59/update/remote-assets"; 59 | let remoteManifestUrl = this._storagePath + "/project.manifest"; 60 | this.manifestUrl = remoteManifestUrl; 61 | 62 | let customManifestStr = JSON.stringify({ 63 | "packageUrl": UIRLFILE, 64 | "remoteManifestUrl": UIRLFILE + "/project.manifest", 65 | "remoteVersionUrl": UIRLFILE + "/version.manifest", 66 | "version": "1.0.0.0", 67 | "assets": {}, 68 | "searchPaths": [] 69 | }); 70 | 71 | this._checkListener = new jsb.EventListenerAssetsManager(this._am, this.checkCb.bind(this)); 72 | cc.eventManager.addListener(this._checkListener, 1); 73 | 74 | if (this._am.getState() === jsb.AssetsManager.State.UNINITED) { 75 | if (jsb.fileUtils.isFileExist(remoteManifestUrl)) { 76 | console.log('加载本地Manifest'); 77 | this._am.loadLocalManifest(this.manifestUrl); 78 | } else { 79 | console.log('加载网络Manifest'); 80 | let manifest = new jsb.Manifest(customManifestStr, this._storagePath); 81 | this._am.loadLocalManifest(manifest, this._storagePath); 82 | } 83 | } 84 | 85 | console.log("检查文件更新:" + remoteManifestUrl); 86 | this._am.checkUpdate(); 87 | }, 88 | 89 | _hotUpdate() { 90 | if (this._am) { 91 | this._updateListener = new jsb.EventListenerAssetsManager(this._am, this.updateCb.bind(this)); 92 | cc.eventManager.addListener(this._updateListener, 1); 93 | 94 | if (this._am.getState() === jsb.AssetsManager.State.UNINITED) { 95 | this._am.loadLocalManifest(this.manifestUrl); 96 | } 97 | this._am.update(); 98 | } 99 | }, 100 | 101 | //*************************子游戏demo 开始***************************// 102 | getfiles: function(name, mmm) { 103 | if (cc.sys.isBrowser){ 104 | return; 105 | } 106 | 107 | this._storagePath = ((jsb.fileUtils ? jsb.fileUtils.getWritablePath() : '/') + 'ALLGame/' + name); 108 | 109 | let UIRLFILE = "http://192.168.92.59/update/remote-assets"; 110 | let remoteManifestUrl = this._storagePath + "/project.manifest"; 111 | this.manifestUrl = remoteManifestUrl; 112 | 113 | let customManifestStr = JSON.stringify({ 114 | "packageUrl": UIRLFILE, 115 | "remoteManifestUrl": UIRLFILE + "/project.manifest", 116 | "remoteVersionUrl": UIRLFILE + "/version.manifest", 117 | "version": "0.0.1", 118 | "assets": {}, 119 | "searchPaths": [] 120 | }); 121 | 122 | let versionCompareHandle = function(versionA, versionB) { 123 | let vA = versionA.split('.'); 124 | let vB = versionB.split('.'); 125 | for (let i = 0; i < vA.length; ++i) { 126 | let a = parseInt(vA[i]); 127 | let b = parseInt(vB[i] || 0); 128 | if (a === b) { 129 | continue; 130 | } else { 131 | return a - b; 132 | } 133 | } 134 | if (vB.length > vA.length) { 135 | return -1; 136 | } else { 137 | return 0; 138 | } 139 | }; 140 | 141 | this._am = new jsb.AssetsManager('', this._storagePath, versionCompareHandle); 142 | 143 | if (!cc.sys.ENABLE_GC_FOR_NATIVE_OBJECTS) { 144 | this._am.retain(); 145 | } 146 | 147 | if (cc.sys.os === cc.sys.OS_ANDROID) { 148 | this._am.setMaxConcurrentTask(2); 149 | } 150 | 151 | if (mmm === 1) { 152 | console.log('开始更新版本'); 153 | this._updateListener = new jsb.EventListenerAssetsManager(this._am, this.updateCb.bind(this)); 154 | } else { 155 | console.log('开始检查版本'); 156 | this._updateListener = new jsb.EventListenerAssetsManager(this._am, this.checkCb.bind(this)); 157 | } 158 | 159 | cc.eventManager.addListener(this._updateListener, 1); 160 | 161 | if (this._am.getState() === jsb.AssetsManager.State.UNINITED) { 162 | if (jsb.fileUtils.isFileExist(remoteManifestUrl)) { 163 | this._am.loadLocalManifest(this.manifestUrl); 164 | } else { 165 | let manifest = new jsb.Manifest(customManifestStr, this._storagePath); 166 | this._am.loadLocalManifest(manifest, this._storagePath); 167 | } 168 | } 169 | 170 | if (mmm === 1) { 171 | this._shengji = true; 172 | this._am.update(); 173 | } else { 174 | this._am.checkUpdate(); 175 | this._shengji = false; 176 | } 177 | console.log("更新文件:" + remoteManifestUrl); 178 | }, 179 | 180 | updateCb: function(event) { 181 | switch (event.getEventCode()) { 182 | case jsb.EventAssetsManager.ERROR_NO_LOCAL_MANIFEST: 183 | /*0 本地没有配置文件*/ 184 | break; 185 | 186 | case jsb.EventAssetsManager.ERROR_DOWNLOAD_MANIFEST: 187 | /*1下载配置文件错误*/ 188 | break; 189 | case jsb.EventAssetsManager.ERROR_PARSE_MANIFEST: 190 | /*2 解析文件错误*/ 191 | break; 192 | case jsb.EventAssetsManager.NEW_VERSION_FOUND: 193 | /*3发现新的更新*/ 194 | break; 195 | case jsb.EventAssetsManager.ALREADY_UP_TO_DATE: 196 | /*4 已经是最新的*/ 197 | break; 198 | case jsb.EventAssetsManager.UPDATE_PROGRESSION: 199 | /*5 最新进展 做 进度的*/ 200 | this.label.string = event.getPercentByFile(); 201 | break; 202 | case jsb.EventAssetsManager.ASSET_UPDATED: 203 | /*6需要更新*/ 204 | break; 205 | case jsb.EventAssetsManager.ERROR_UPDATING: 206 | /*7更新错误*/ 207 | break; 208 | case jsb.EventAssetsManager.UPDATE_FINISHED: 209 | /*8更新完成*/ 210 | this.label.string = "更新完成"; 211 | break; 212 | case jsb.EventAssetsManager.UPDATE_FAILED: 213 | /*9更新失败*/ 214 | this.label.string = '更新失败: ' + event.getMessage(); 215 | // this.getfiles("subgame", 1); 216 | break; 217 | case jsb.EventAssetsManager.ERROR_DECOMPRESS: 218 | /*10解压失败*/ 219 | break; 220 | } 221 | }, 222 | 223 | checkCb: function(event) { 224 | switch (event.getEventCode()) { 225 | case jsb.EventAssetsManager.ERROR_NO_LOCAL_MANIFEST: 226 | break; 227 | case jsb.EventAssetsManager.ERROR_DOWNLOAD_MANIFEST: 228 | case jsb.EventAssetsManager.ERROR_PARSE_MANIFEST: 229 | break; 230 | case jsb.EventAssetsManager.ALREADY_UP_TO_DATE: 231 | break; 232 | case jsb.EventAssetsManager.NEW_VERSION_FOUND: 233 | this.label.string = '找到新版本'; 234 | cc.eventManager.removeListener(this._checkListener); 235 | this._checkListener = null; 236 | setTimeout(() => this._hotUpdate(), 2000); 237 | return; 238 | default: 239 | return; 240 | } 241 | }, 242 | 243 | download_sub_game: function() { 244 | this._chechUpdate(); 245 | }, 246 | 247 | enter_sub_game: function() { 248 | // if (!this._storagePath) { 249 | // cc.find("Canvas/label").getComponent(cc.Label).string = "请先点击下载游戏,检查版本是否更新!!!"; 250 | // return; 251 | // } 252 | console.log('subgame path = '+ this._storagePath); 253 | 254 | // require(this._storagePath + "/src/main.js"); 255 | }, 256 | //*************************子游戏demo 结束***************************// 257 | }); -------------------------------------------------------------------------------- /ChildGame/assets/resources/ChildGameScene.fire: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__type__": "cc.SceneAsset", 4 | "_name": "", 5 | "_objFlags": 0, 6 | "_rawFiles": null, 7 | "scene": { 8 | "__id__": 1 9 | } 10 | }, 11 | { 12 | "__type__": "cc.Scene", 13 | "_objFlags": 0, 14 | "_parent": null, 15 | "_children": [ 16 | { 17 | "__id__": 2 18 | } 19 | ], 20 | "_tag": -1, 21 | "_active": true, 22 | "_components": [], 23 | "_prefab": null, 24 | "_id": "4c36577c-3fa2-4449-9aa4-d5d5ed5ea178", 25 | "_opacity": 255, 26 | "_color": { 27 | "__type__": "cc.Color", 28 | "r": 255, 29 | "g": 255, 30 | "b": 255, 31 | "a": 255 32 | }, 33 | "_cascadeOpacityEnabled": true, 34 | "_anchorPoint": { 35 | "__type__": "cc.Vec2", 36 | "x": 0, 37 | "y": 0 38 | }, 39 | "_contentSize": { 40 | "__type__": "cc.Size", 41 | "width": 0, 42 | "height": 0 43 | }, 44 | "_localZOrder": 0, 45 | "_globalZOrder": 0, 46 | "_opacityModifyRGB": false, 47 | "groupIndex": 0, 48 | "autoReleaseAssets": false 49 | }, 50 | { 51 | "__type__": "cc.Node", 52 | "_name": "Canvas", 53 | "_objFlags": 0, 54 | "_parent": { 55 | "__id__": 1 56 | }, 57 | "_children": [ 58 | { 59 | "__id__": 3 60 | }, 61 | { 62 | "__id__": 5 63 | } 64 | ], 65 | "_tag": -1, 66 | "_active": true, 67 | "_components": [ 68 | { 69 | "__id__": 11 70 | }, 71 | { 72 | "__id__": 12 73 | } 74 | ], 75 | "_prefab": null, 76 | "_id": "6fi4H8r1JLk4sRqGroATMw", 77 | "_opacity": 255, 78 | "_color": { 79 | "__type__": "cc.Color", 80 | "r": 255, 81 | "g": 255, 82 | "b": 255, 83 | "a": 255 84 | }, 85 | "_cascadeOpacityEnabled": true, 86 | "_anchorPoint": { 87 | "__type__": "cc.Vec2", 88 | "x": 0.5, 89 | "y": 0.5 90 | }, 91 | "_contentSize": { 92 | "__type__": "cc.Size", 93 | "width": 960, 94 | "height": 640 95 | }, 96 | "_rotationX": 0, 97 | "_rotationY": 0, 98 | "_scaleX": 1, 99 | "_scaleY": 1, 100 | "_position": { 101 | "__type__": "cc.Vec2", 102 | "x": 480, 103 | "y": 320 104 | }, 105 | "_skewX": 0, 106 | "_skewY": 0, 107 | "_localZOrder": 0, 108 | "_globalZOrder": 0, 109 | "_opacityModifyRGB": false, 110 | "groupIndex": 0 111 | }, 112 | { 113 | "__type__": "cc.Node", 114 | "_name": "label", 115 | "_objFlags": 0, 116 | "_parent": { 117 | "__id__": 2 118 | }, 119 | "_children": [], 120 | "_tag": -1, 121 | "_active": true, 122 | "_components": [ 123 | { 124 | "__id__": 4 125 | } 126 | ], 127 | "_prefab": null, 128 | "_id": "8cArtnJiBAIpBPoSgLWyyr", 129 | "_opacity": 255, 130 | "_color": { 131 | "__type__": "cc.Color", 132 | "r": 255, 133 | "g": 255, 134 | "b": 255, 135 | "a": 255 136 | }, 137 | "_cascadeOpacityEnabled": true, 138 | "_anchorPoint": { 139 | "__type__": "cc.Vec2", 140 | "x": 0.5, 141 | "y": 0.5 142 | }, 143 | "_contentSize": { 144 | "__type__": "cc.Size", 145 | "width": 120, 146 | "height": 40 147 | }, 148 | "_rotationX": 0, 149 | "_rotationY": 0, 150 | "_scaleX": 1, 151 | "_scaleY": 1, 152 | "_position": { 153 | "__type__": "cc.Vec2", 154 | "x": 0, 155 | "y": 0 156 | }, 157 | "_skewX": 0, 158 | "_skewY": 0, 159 | "_localZOrder": 0, 160 | "_globalZOrder": 0, 161 | "_opacityModifyRGB": false, 162 | "groupIndex": 0 163 | }, 164 | { 165 | "__type__": "cc.Label", 166 | "_name": "", 167 | "_objFlags": 0, 168 | "node": { 169 | "__id__": 3 170 | }, 171 | "_enabled": true, 172 | "_useOriginalSize": false, 173 | "_actualFontSize": 40, 174 | "_fontSize": 40, 175 | "_lineHeight": 40, 176 | "_enableWrapText": true, 177 | "_N$file": null, 178 | "_isSystemFontUsed": true, 179 | "_spacingX": 0, 180 | "_N$string": "子游戏", 181 | "_N$horizontalAlign": 1, 182 | "_N$verticalAlign": 1, 183 | "_N$fontFamily": "Arial", 184 | "_N$overflow": 0 185 | }, 186 | { 187 | "__type__": "cc.Node", 188 | "_name": "New Button", 189 | "_objFlags": 0, 190 | "_parent": { 191 | "__id__": 2 192 | }, 193 | "_children": [ 194 | { 195 | "__id__": 6 196 | } 197 | ], 198 | "_tag": -1, 199 | "_active": true, 200 | "_components": [ 201 | { 202 | "__id__": 8 203 | }, 204 | { 205 | "__id__": 9 206 | } 207 | ], 208 | "_prefab": null, 209 | "_id": "bbT0GEPc9Jqofzwmm1ritm", 210 | "_opacity": 255, 211 | "_color": { 212 | "__type__": "cc.Color", 213 | "r": 255, 214 | "g": 255, 215 | "b": 255, 216 | "a": 255 217 | }, 218 | "_cascadeOpacityEnabled": true, 219 | "_anchorPoint": { 220 | "__type__": "cc.Vec2", 221 | "x": 0.5, 222 | "y": 0.5 223 | }, 224 | "_contentSize": { 225 | "__type__": "cc.Size", 226 | "width": 100, 227 | "height": 40 228 | }, 229 | "_rotationX": 0, 230 | "_rotationY": 0, 231 | "_scaleX": 1, 232 | "_scaleY": 1, 233 | "_position": { 234 | "__type__": "cc.Vec2", 235 | "x": 0, 236 | "y": -75 237 | }, 238 | "_skewX": 0, 239 | "_skewY": 0, 240 | "_localZOrder": 0, 241 | "_globalZOrder": 0, 242 | "_opacityModifyRGB": false, 243 | "groupIndex": 0 244 | }, 245 | { 246 | "__type__": "cc.Node", 247 | "_name": "Label", 248 | "_objFlags": 0, 249 | "_parent": { 250 | "__id__": 5 251 | }, 252 | "_children": [], 253 | "_tag": -1, 254 | "_active": true, 255 | "_components": [ 256 | { 257 | "__id__": 7 258 | } 259 | ], 260 | "_prefab": null, 261 | "_id": "01GlQgxlVI+r4i6nnJDhQQ", 262 | "_opacity": 255, 263 | "_color": { 264 | "__type__": "cc.Color", 265 | "r": 0, 266 | "g": 0, 267 | "b": 0, 268 | "a": 255 269 | }, 270 | "_cascadeOpacityEnabled": true, 271 | "_anchorPoint": { 272 | "__type__": "cc.Vec2", 273 | "x": 0.5, 274 | "y": 0.5 275 | }, 276 | "_contentSize": { 277 | "__type__": "cc.Size", 278 | "width": 100, 279 | "height": 40 280 | }, 281 | "_rotationX": 0, 282 | "_rotationY": 0, 283 | "_scaleX": 1, 284 | "_scaleY": 1, 285 | "_position": { 286 | "__type__": "cc.Vec2", 287 | "x": 0, 288 | "y": 0 289 | }, 290 | "_skewX": 0, 291 | "_skewY": 0, 292 | "_localZOrder": 0, 293 | "_globalZOrder": 0, 294 | "_opacityModifyRGB": false, 295 | "groupIndex": 0 296 | }, 297 | { 298 | "__type__": "cc.Label", 299 | "_name": "", 300 | "_objFlags": 0, 301 | "node": { 302 | "__id__": 6 303 | }, 304 | "_enabled": true, 305 | "_useOriginalSize": false, 306 | "_actualFontSize": 20, 307 | "_fontSize": 20, 308 | "_lineHeight": 40, 309 | "_enableWrapText": false, 310 | "_N$file": null, 311 | "_isSystemFontUsed": true, 312 | "_spacingX": 0, 313 | "_N$string": "返回大厅", 314 | "_N$horizontalAlign": 1, 315 | "_N$verticalAlign": 1, 316 | "_N$fontFamily": "Arial", 317 | "_N$overflow": 1 318 | }, 319 | { 320 | "__type__": "cc.Sprite", 321 | "_name": "", 322 | "_objFlags": 0, 323 | "node": { 324 | "__id__": 5 325 | }, 326 | "_enabled": true, 327 | "_spriteFrame": { 328 | "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" 329 | }, 330 | "_type": 1, 331 | "_sizeMode": 0, 332 | "_fillType": 0, 333 | "_fillCenter": { 334 | "__type__": "cc.Vec2", 335 | "x": 0, 336 | "y": 0 337 | }, 338 | "_fillStart": 0, 339 | "_fillRange": 0, 340 | "_isTrimmedMode": true, 341 | "_srcBlendFactor": 770, 342 | "_dstBlendFactor": 771, 343 | "_atlas": null 344 | }, 345 | { 346 | "__type__": "cc.Button", 347 | "_name": "", 348 | "_objFlags": 0, 349 | "node": { 350 | "__id__": 5 351 | }, 352 | "_enabled": true, 353 | "transition": 2, 354 | "pressedColor": { 355 | "__type__": "cc.Color", 356 | "r": 255, 357 | "g": 255, 358 | "b": 255, 359 | "a": 255 360 | }, 361 | "hoverColor": { 362 | "__type__": "cc.Color", 363 | "r": 255, 364 | "g": 255, 365 | "b": 255, 366 | "a": 255 367 | }, 368 | "duration": 0.1, 369 | "zoomScale": 1.2, 370 | "pressedSprite": { 371 | "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" 372 | }, 373 | "hoverSprite": { 374 | "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" 375 | }, 376 | "clickEvents": [ 377 | { 378 | "__id__": 10 379 | } 380 | ], 381 | "_N$interactable": true, 382 | "_N$enableAutoGrayEffect": false, 383 | "_N$normalColor": { 384 | "__type__": "cc.Color", 385 | "r": 255, 386 | "g": 255, 387 | "b": 255, 388 | "a": 255 389 | }, 390 | "_N$disabledColor": { 391 | "__type__": "cc.Color", 392 | "r": 255, 393 | "g": 255, 394 | "b": 255, 395 | "a": 255 396 | }, 397 | "_N$normalSprite": { 398 | "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" 399 | }, 400 | "_N$disabledSprite": { 401 | "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" 402 | }, 403 | "_N$target": { 404 | "__id__": 5 405 | } 406 | }, 407 | { 408 | "__type__": "cc.ClickEvent", 409 | "target": { 410 | "__id__": 2 411 | }, 412 | "component": "ChildGame", 413 | "handler": "returnDating", 414 | "customEventData": "" 415 | }, 416 | { 417 | "__type__": "cc.Canvas", 418 | "_name": "", 419 | "_objFlags": 0, 420 | "node": { 421 | "__id__": 2 422 | }, 423 | "_enabled": true, 424 | "_designResolution": { 425 | "__type__": "cc.Size", 426 | "width": 960, 427 | "height": 640 428 | }, 429 | "_fitWidth": false, 430 | "_fitHeight": true 431 | }, 432 | { 433 | "__type__": "ffd97HCsMREqZMN2kQneFcg", 434 | "_name": "", 435 | "_objFlags": 0, 436 | "node": { 437 | "__id__": 2 438 | }, 439 | "_enabled": true 440 | } 441 | ] -------------------------------------------------------------------------------- /hall/assets/hall.fire: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__type__": "cc.SceneAsset", 4 | "_name": "", 5 | "_objFlags": 0, 6 | "_rawFiles": null, 7 | "scene": { 8 | "__id__": 1 9 | } 10 | }, 11 | { 12 | "__type__": "cc.Scene", 13 | "_objFlags": 0, 14 | "_parent": null, 15 | "_children": [ 16 | { 17 | "__id__": 2 18 | } 19 | ], 20 | "_tag": -1, 21 | "_active": true, 22 | "_components": [], 23 | "_prefab": null, 24 | "_id": "7bae9db5-5098-49b0-b306-bcf73c799a85", 25 | "_opacity": 255, 26 | "_color": { 27 | "__type__": "cc.Color", 28 | "r": 255, 29 | "g": 255, 30 | "b": 255, 31 | "a": 255 32 | }, 33 | "_cascadeOpacityEnabled": true, 34 | "_anchorPoint": { 35 | "__type__": "cc.Vec2", 36 | "x": 0, 37 | "y": 0 38 | }, 39 | "_contentSize": { 40 | "__type__": "cc.Size", 41 | "width": 0, 42 | "height": 0 43 | }, 44 | "_localZOrder": 0, 45 | "_globalZOrder": 0, 46 | "_opacityModifyRGB": false, 47 | "groupIndex": 0, 48 | "autoReleaseAssets": false 49 | }, 50 | { 51 | "__type__": "cc.Node", 52 | "_name": "Canvas", 53 | "_objFlags": 0, 54 | "_parent": { 55 | "__id__": 1 56 | }, 57 | "_children": [ 58 | { 59 | "__id__": 3 60 | }, 61 | { 62 | "__id__": 5 63 | }, 64 | { 65 | "__id__": 7 66 | }, 67 | { 68 | "__id__": 9 69 | }, 70 | { 71 | "__id__": 15 72 | } 73 | ], 74 | "_tag": -1, 75 | "_active": true, 76 | "_components": [ 77 | { 78 | "__id__": 21 79 | }, 80 | { 81 | "__id__": 22 82 | } 83 | ], 84 | "_prefab": null, 85 | "_id": "6586eno/fNEsJk1JvjO48un", 86 | "_opacity": 255, 87 | "_color": { 88 | "__type__": "cc.Color", 89 | "r": 255, 90 | "g": 255, 91 | "b": 255, 92 | "a": 255 93 | }, 94 | "_cascadeOpacityEnabled": true, 95 | "_anchorPoint": { 96 | "__type__": "cc.Vec2", 97 | "x": 0.5, 98 | "y": 0.5 99 | }, 100 | "_contentSize": { 101 | "__type__": "cc.Size", 102 | "width": 960, 103 | "height": 640 104 | }, 105 | "_rotationX": 0, 106 | "_rotationY": 0, 107 | "_scaleX": 1, 108 | "_scaleY": 1, 109 | "_position": { 110 | "__type__": "cc.Vec2", 111 | "x": 480, 112 | "y": 320 113 | }, 114 | "_skewX": 0, 115 | "_skewY": 0, 116 | "_localZOrder": 0, 117 | "_globalZOrder": 0, 118 | "_opacityModifyRGB": false, 119 | "groupIndex": 0 120 | }, 121 | { 122 | "__type__": "cc.Node", 123 | "_name": "title", 124 | "_objFlags": 0, 125 | "_parent": { 126 | "__id__": 2 127 | }, 128 | "_children": [], 129 | "_tag": -1, 130 | "_active": true, 131 | "_components": [ 132 | { 133 | "__id__": 4 134 | } 135 | ], 136 | "_prefab": null, 137 | "_id": "721d1bVnnRGgYWTxfRcIudq", 138 | "_opacity": 255, 139 | "_color": { 140 | "__type__": "cc.Color", 141 | "r": 255, 142 | "g": 255, 143 | "b": 255, 144 | "a": 255 145 | }, 146 | "_cascadeOpacityEnabled": true, 147 | "_anchorPoint": { 148 | "__type__": "cc.Vec2", 149 | "x": 0.5, 150 | "y": 0.5 151 | }, 152 | "_contentSize": { 153 | "__type__": "cc.Size", 154 | "width": 320, 155 | "height": 40 156 | }, 157 | "_rotationX": 0, 158 | "_rotationY": 0, 159 | "_scaleX": 1, 160 | "_scaleY": 1, 161 | "_position": { 162 | "__type__": "cc.Vec2", 163 | "x": 22, 164 | "y": 146.1 165 | }, 166 | "_skewX": 0, 167 | "_skewY": 0, 168 | "_localZOrder": 0, 169 | "_globalZOrder": 0, 170 | "_opacityModifyRGB": false, 171 | "groupIndex": 0 172 | }, 173 | { 174 | "__type__": "cc.Label", 175 | "_name": "", 176 | "_objFlags": 0, 177 | "node": { 178 | "__id__": 3 179 | }, 180 | "_enabled": true, 181 | "_useOriginalSize": false, 182 | "_actualFontSize": 40, 183 | "_fontSize": 40, 184 | "_lineHeight": 40, 185 | "_enableWrapText": true, 186 | "_N$file": null, 187 | "_isSystemFontUsed": true, 188 | "_spacingX": 0, 189 | "_N$string": "这是一个游戏大厅", 190 | "_N$horizontalAlign": 1, 191 | "_N$verticalAlign": 1, 192 | "_N$fontFamily": "Arial", 193 | "_N$overflow": 0 194 | }, 195 | { 196 | "__type__": "cc.Node", 197 | "_name": "prompt", 198 | "_objFlags": 0, 199 | "_parent": { 200 | "__id__": 2 201 | }, 202 | "_children": [], 203 | "_tag": -1, 204 | "_active": true, 205 | "_components": [ 206 | { 207 | "__id__": 6 208 | } 209 | ], 210 | "_prefab": null, 211 | "_id": "22f9aQJTyFB2agTa38/IDCY", 212 | "_opacity": 255, 213 | "_color": { 214 | "__type__": "cc.Color", 215 | "r": 255, 216 | "g": 255, 217 | "b": 255, 218 | "a": 255 219 | }, 220 | "_cascadeOpacityEnabled": true, 221 | "_anchorPoint": { 222 | "__type__": "cc.Vec2", 223 | "x": 0.5, 224 | "y": 0.5 225 | }, 226 | "_contentSize": { 227 | "__type__": "cc.Size", 228 | "width": 208.96, 229 | "height": 40 230 | }, 231 | "_rotationX": 0, 232 | "_rotationY": 0, 233 | "_scaleX": 1, 234 | "_scaleY": 1, 235 | "_position": { 236 | "__type__": "cc.Vec2", 237 | "x": 30, 238 | "y": 0 239 | }, 240 | "_skewX": 0, 241 | "_skewY": 0, 242 | "_localZOrder": 0, 243 | "_globalZOrder": 0, 244 | "_opacityModifyRGB": false, 245 | "groupIndex": 0 246 | }, 247 | { 248 | "__type__": "cc.Label", 249 | "_name": "", 250 | "_objFlags": 0, 251 | "node": { 252 | "__id__": 5 253 | }, 254 | "_enabled": true, 255 | "_useOriginalSize": false, 256 | "_actualFontSize": 40, 257 | "_fontSize": 40, 258 | "_lineHeight": 40, 259 | "_enableWrapText": true, 260 | "_N$file": null, 261 | "_isSystemFontUsed": true, 262 | "_spacingX": 0, 263 | "_N$string": "Hello world!", 264 | "_N$horizontalAlign": 1, 265 | "_N$verticalAlign": 1, 266 | "_N$fontFamily": "Arial", 267 | "_N$overflow": 0 268 | }, 269 | { 270 | "__type__": "cc.Node", 271 | "_name": "percent", 272 | "_objFlags": 0, 273 | "_parent": { 274 | "__id__": 2 275 | }, 276 | "_children": [], 277 | "_tag": -1, 278 | "_active": true, 279 | "_components": [ 280 | { 281 | "__id__": 8 282 | } 283 | ], 284 | "_prefab": null, 285 | "_id": "46a63huaF1KC5s7qGfYStOY", 286 | "_opacity": 255, 287 | "_color": { 288 | "__type__": "cc.Color", 289 | "r": 255, 290 | "g": 255, 291 | "b": 255, 292 | "a": 255 293 | }, 294 | "_cascadeOpacityEnabled": true, 295 | "_anchorPoint": { 296 | "__type__": "cc.Vec2", 297 | "x": 0.5, 298 | "y": 0.5 299 | }, 300 | "_contentSize": { 301 | "__type__": "cc.Size", 302 | "width": 22.25, 303 | "height": 40 304 | }, 305 | "_rotationX": 0, 306 | "_rotationY": 0, 307 | "_scaleX": 1, 308 | "_scaleY": 1, 309 | "_position": { 310 | "__type__": "cc.Vec2", 311 | "x": 15, 312 | "y": -79 313 | }, 314 | "_skewX": 0, 315 | "_skewY": 0, 316 | "_localZOrder": 0, 317 | "_globalZOrder": 0, 318 | "_opacityModifyRGB": false, 319 | "groupIndex": 0 320 | }, 321 | { 322 | "__type__": "cc.Label", 323 | "_name": "", 324 | "_objFlags": 0, 325 | "node": { 326 | "__id__": 7 327 | }, 328 | "_enabled": true, 329 | "_useOriginalSize": false, 330 | "_actualFontSize": 40, 331 | "_fontSize": 40, 332 | "_lineHeight": 40, 333 | "_enableWrapText": true, 334 | "_N$file": null, 335 | "_isSystemFontUsed": true, 336 | "_spacingX": 0, 337 | "_N$string": "0", 338 | "_N$horizontalAlign": 1, 339 | "_N$verticalAlign": 1, 340 | "_N$fontFamily": "Arial", 341 | "_N$overflow": 0 342 | }, 343 | { 344 | "__type__": "cc.Node", 345 | "_name": "btn_download", 346 | "_objFlags": 0, 347 | "_parent": { 348 | "__id__": 2 349 | }, 350 | "_children": [ 351 | { 352 | "__id__": 10 353 | } 354 | ], 355 | "_tag": -1, 356 | "_active": true, 357 | "_components": [ 358 | { 359 | "__id__": 12 360 | }, 361 | { 362 | "__id__": 13 363 | } 364 | ], 365 | "_prefab": null, 366 | "_id": "d445cqYOO1EXoWyRpsL3bfb", 367 | "_opacity": 255, 368 | "_color": { 369 | "__type__": "cc.Color", 370 | "r": 255, 371 | "g": 255, 372 | "b": 255, 373 | "a": 255 374 | }, 375 | "_cascadeOpacityEnabled": true, 376 | "_anchorPoint": { 377 | "__type__": "cc.Vec2", 378 | "x": 0.5, 379 | "y": 0.5 380 | }, 381 | "_contentSize": { 382 | "__type__": "cc.Size", 383 | "width": 100, 384 | "height": 40 385 | }, 386 | "_rotationX": 0, 387 | "_rotationY": 0, 388 | "_scaleX": 1, 389 | "_scaleY": 1, 390 | "_position": { 391 | "__type__": "cc.Vec2", 392 | "x": -137, 393 | "y": -143 394 | }, 395 | "_skewX": 0, 396 | "_skewY": 0, 397 | "_localZOrder": 0, 398 | "_globalZOrder": 0, 399 | "_opacityModifyRGB": false, 400 | "groupIndex": 0 401 | }, 402 | { 403 | "__type__": "cc.Node", 404 | "_name": "Label", 405 | "_objFlags": 0, 406 | "_parent": { 407 | "__id__": 9 408 | }, 409 | "_children": [], 410 | "_tag": -1, 411 | "_active": true, 412 | "_components": [ 413 | { 414 | "__id__": 11 415 | } 416 | ], 417 | "_prefab": null, 418 | "_id": "74b37+eTTtPh4mJoZDCv1gA", 419 | "_opacity": 255, 420 | "_color": { 421 | "__type__": "cc.Color", 422 | "r": 0, 423 | "g": 0, 424 | "b": 0, 425 | "a": 255 426 | }, 427 | "_cascadeOpacityEnabled": true, 428 | "_anchorPoint": { 429 | "__type__": "cc.Vec2", 430 | "x": 0.5, 431 | "y": 0.5 432 | }, 433 | "_contentSize": { 434 | "__type__": "cc.Size", 435 | "width": 120, 436 | "height": 40 437 | }, 438 | "_rotationX": 0, 439 | "_rotationY": 0, 440 | "_scaleX": 1, 441 | "_scaleY": 1, 442 | "_position": { 443 | "__type__": "cc.Vec2", 444 | "x": 0, 445 | "y": 0 446 | }, 447 | "_skewX": 0, 448 | "_skewY": 0, 449 | "_localZOrder": 0, 450 | "_globalZOrder": 0, 451 | "_opacityModifyRGB": false, 452 | "groupIndex": 0 453 | }, 454 | { 455 | "__type__": "cc.Label", 456 | "_name": "", 457 | "_objFlags": 0, 458 | "node": { 459 | "__id__": 10 460 | }, 461 | "_enabled": true, 462 | "_useOriginalSize": false, 463 | "_actualFontSize": 20, 464 | "_fontSize": 20, 465 | "_lineHeight": 40, 466 | "_enableWrapText": false, 467 | "_N$file": null, 468 | "_isSystemFontUsed": true, 469 | "_spacingX": 0, 470 | "_N$string": "下载子游戏", 471 | "_N$horizontalAlign": 1, 472 | "_N$verticalAlign": 1, 473 | "_N$fontFamily": "Arial", 474 | "_N$overflow": 1 475 | }, 476 | { 477 | "__type__": "cc.Sprite", 478 | "_name": "", 479 | "_objFlags": 0, 480 | "node": { 481 | "__id__": 9 482 | }, 483 | "_enabled": true, 484 | "_spriteFrame": { 485 | "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" 486 | }, 487 | "_type": 1, 488 | "_sizeMode": 0, 489 | "_fillType": 0, 490 | "_fillCenter": { 491 | "__type__": "cc.Vec2", 492 | "x": 0, 493 | "y": 0 494 | }, 495 | "_fillStart": 0, 496 | "_fillRange": 0, 497 | "_isTrimmedMode": true, 498 | "_srcBlendFactor": 770, 499 | "_dstBlendFactor": 771, 500 | "_atlas": null 501 | }, 502 | { 503 | "__type__": "cc.Button", 504 | "_name": "", 505 | "_objFlags": 0, 506 | "node": { 507 | "__id__": 9 508 | }, 509 | "_enabled": true, 510 | "transition": 2, 511 | "pressedColor": { 512 | "__type__": "cc.Color", 513 | "r": 255, 514 | "g": 255, 515 | "b": 255, 516 | "a": 255 517 | }, 518 | "hoverColor": { 519 | "__type__": "cc.Color", 520 | "r": 255, 521 | "g": 255, 522 | "b": 255, 523 | "a": 255 524 | }, 525 | "duration": 0.1, 526 | "zoomScale": 1.2, 527 | "pressedSprite": { 528 | "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" 529 | }, 530 | "hoverSprite": { 531 | "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" 532 | }, 533 | "clickEvents": [ 534 | { 535 | "__id__": 14 536 | } 537 | ], 538 | "_N$interactable": true, 539 | "_N$enableAutoGrayEffect": false, 540 | "_N$normalColor": { 541 | "__type__": "cc.Color", 542 | "r": 255, 543 | "g": 255, 544 | "b": 255, 545 | "a": 255 546 | }, 547 | "_N$disabledColor": { 548 | "__type__": "cc.Color", 549 | "r": 255, 550 | "g": 255, 551 | "b": 255, 552 | "a": 255 553 | }, 554 | "_N$normalSprite": { 555 | "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" 556 | }, 557 | "_N$disabledSprite": { 558 | "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" 559 | }, 560 | "_N$target": { 561 | "__id__": 9 562 | } 563 | }, 564 | { 565 | "__type__": "cc.ClickEvent", 566 | "target": { 567 | "__id__": 2 568 | }, 569 | "component": "HotUpdate", 570 | "handler": "checkUpdate", 571 | "customEventData": "" 572 | }, 573 | { 574 | "__type__": "cc.Node", 575 | "_name": "btn_enter", 576 | "_objFlags": 0, 577 | "_parent": { 578 | "__id__": 2 579 | }, 580 | "_children": [ 581 | { 582 | "__id__": 16 583 | } 584 | ], 585 | "_tag": -1, 586 | "_active": true, 587 | "_components": [ 588 | { 589 | "__id__": 18 590 | }, 591 | { 592 | "__id__": 19 593 | } 594 | ], 595 | "_prefab": null, 596 | "_id": "93594GD3h9JdbI87daNQkxV", 597 | "_opacity": 255, 598 | "_color": { 599 | "__type__": "cc.Color", 600 | "r": 255, 601 | "g": 255, 602 | "b": 255, 603 | "a": 255 604 | }, 605 | "_cascadeOpacityEnabled": true, 606 | "_anchorPoint": { 607 | "__type__": "cc.Vec2", 608 | "x": 0.5, 609 | "y": 0.5 610 | }, 611 | "_contentSize": { 612 | "__type__": "cc.Size", 613 | "width": 100, 614 | "height": 40 615 | }, 616 | "_rotationX": 0, 617 | "_rotationY": 0, 618 | "_scaleX": 1, 619 | "_scaleY": 1, 620 | "_position": { 621 | "__type__": "cc.Vec2", 622 | "x": 170, 623 | "y": -143 624 | }, 625 | "_skewX": 0, 626 | "_skewY": 0, 627 | "_localZOrder": 0, 628 | "_globalZOrder": 0, 629 | "_opacityModifyRGB": false, 630 | "groupIndex": 0 631 | }, 632 | { 633 | "__type__": "cc.Node", 634 | "_name": "Label", 635 | "_objFlags": 0, 636 | "_parent": { 637 | "__id__": 15 638 | }, 639 | "_children": [], 640 | "_tag": -1, 641 | "_active": true, 642 | "_components": [ 643 | { 644 | "__id__": 17 645 | } 646 | ], 647 | "_prefab": null, 648 | "_id": "558129yyxBMn4wZfm0oZ3Zz", 649 | "_opacity": 255, 650 | "_color": { 651 | "__type__": "cc.Color", 652 | "r": 0, 653 | "g": 0, 654 | "b": 0, 655 | "a": 255 656 | }, 657 | "_cascadeOpacityEnabled": true, 658 | "_anchorPoint": { 659 | "__type__": "cc.Vec2", 660 | "x": 0.5, 661 | "y": 0.5 662 | }, 663 | "_contentSize": { 664 | "__type__": "cc.Size", 665 | "width": 100, 666 | "height": 40 667 | }, 668 | "_rotationX": 0, 669 | "_rotationY": 0, 670 | "_scaleX": 1, 671 | "_scaleY": 1, 672 | "_position": { 673 | "__type__": "cc.Vec2", 674 | "x": 0, 675 | "y": 0 676 | }, 677 | "_skewX": 0, 678 | "_skewY": 0, 679 | "_localZOrder": 0, 680 | "_globalZOrder": 0, 681 | "_opacityModifyRGB": false, 682 | "groupIndex": 0 683 | }, 684 | { 685 | "__type__": "cc.Label", 686 | "_name": "", 687 | "_objFlags": 0, 688 | "node": { 689 | "__id__": 16 690 | }, 691 | "_enabled": true, 692 | "_useOriginalSize": false, 693 | "_actualFontSize": 20, 694 | "_fontSize": 20, 695 | "_lineHeight": 40, 696 | "_enableWrapText": false, 697 | "_N$file": null, 698 | "_isSystemFontUsed": true, 699 | "_spacingX": 0, 700 | "_N$string": "进入子游戏", 701 | "_N$horizontalAlign": 1, 702 | "_N$verticalAlign": 1, 703 | "_N$fontFamily": "Arial", 704 | "_N$overflow": 1 705 | }, 706 | { 707 | "__type__": "cc.Sprite", 708 | "_name": "", 709 | "_objFlags": 0, 710 | "node": { 711 | "__id__": 15 712 | }, 713 | "_enabled": true, 714 | "_spriteFrame": { 715 | "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" 716 | }, 717 | "_type": 1, 718 | "_sizeMode": 0, 719 | "_fillType": 0, 720 | "_fillCenter": { 721 | "__type__": "cc.Vec2", 722 | "x": 0, 723 | "y": 0 724 | }, 725 | "_fillStart": 0, 726 | "_fillRange": 0, 727 | "_isTrimmedMode": true, 728 | "_srcBlendFactor": 770, 729 | "_dstBlendFactor": 771, 730 | "_atlas": null 731 | }, 732 | { 733 | "__type__": "cc.Button", 734 | "_name": "", 735 | "_objFlags": 0, 736 | "node": { 737 | "__id__": 15 738 | }, 739 | "_enabled": true, 740 | "transition": 2, 741 | "pressedColor": { 742 | "__type__": "cc.Color", 743 | "r": 255, 744 | "g": 255, 745 | "b": 255, 746 | "a": 255 747 | }, 748 | "hoverColor": { 749 | "__type__": "cc.Color", 750 | "r": 255, 751 | "g": 255, 752 | "b": 255, 753 | "a": 255 754 | }, 755 | "duration": 0.1, 756 | "zoomScale": 1.2, 757 | "pressedSprite": { 758 | "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" 759 | }, 760 | "hoverSprite": { 761 | "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" 762 | }, 763 | "clickEvents": [ 764 | { 765 | "__id__": 20 766 | } 767 | ], 768 | "_N$interactable": true, 769 | "_N$enableAutoGrayEffect": false, 770 | "_N$normalColor": { 771 | "__type__": "cc.Color", 772 | "r": 255, 773 | "g": 255, 774 | "b": 255, 775 | "a": 255 776 | }, 777 | "_N$disabledColor": { 778 | "__type__": "cc.Color", 779 | "r": 255, 780 | "g": 255, 781 | "b": 255, 782 | "a": 255 783 | }, 784 | "_N$normalSprite": { 785 | "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" 786 | }, 787 | "_N$disabledSprite": { 788 | "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" 789 | }, 790 | "_N$target": { 791 | "__id__": 15 792 | } 793 | }, 794 | { 795 | "__type__": "cc.ClickEvent", 796 | "target": { 797 | "__id__": 2 798 | }, 799 | "component": "HotUpdate", 800 | "handler": "enter_sub_game", 801 | "customEventData": "" 802 | }, 803 | { 804 | "__type__": "cc.Canvas", 805 | "_name": "", 806 | "_objFlags": 0, 807 | "node": { 808 | "__id__": 2 809 | }, 810 | "_enabled": true, 811 | "_designResolution": { 812 | "__type__": "cc.Size", 813 | "width": 960, 814 | "height": 640 815 | }, 816 | "_fitWidth": false, 817 | "_fitHeight": true 818 | }, 819 | { 820 | "__type__": "b1fd0F4gE1A5JB6BLKbeyeb", 821 | "_name": "", 822 | "_objFlags": 0, 823 | "node": { 824 | "__id__": 2 825 | }, 826 | "_enabled": true, 827 | "_am": null, 828 | "_updating": false, 829 | "_canRetry": true, 830 | "_storagePath": "", 831 | "_version": -1 832 | } 833 | ] --------------------------------------------------------------------------------