横屏提示的bug修改,游戏构建文件及RB7功能的添加

This commit is contained in:
TJH 2025-09-22 15:57:36 +08:00
parent 96ad38cf71
commit 69a08ba532
18 changed files with 2945 additions and 2200 deletions

View File

@ -0,0 +1,35 @@
name: Gitea Actions Demo
on:
push:
tags: '*'
defaults:
run:
shell: bash
working-directory: /Users/mac/rp_games/rp_10012
jobs:
Explore-Gitea-Actions:
runs-on: mac-local
steps:
- name: update code
run: |
pwd
git pull
echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- name: npm i
run: |
npm i
- name: build
run: |
echo 'build'
code=0
/Applications/CocosCreator/Creator/3.8.5/CocosCreator.app/Contents/MacOS/CocosCreator --project ./ --build "configPath=./buildConfig_web-mobile.json;" || code=$?
test $code -eq 36
- name: image compression
run: |
compress-imgs.sh -root ./build/web-mobile/
- name: upload
run: |
rsync -av --delete build/web-mobile/ zy@dou-dev:/data/rpgames-static/$(basename $PWD)

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,7 @@
"_active": true, "_active": true,
"_components": [], "_components": [],
"_prefab": { "_prefab": {
"__id__": 77 "__id__": 78
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@ -54,7 +54,7 @@
}, },
"autoReleaseAssets": false, "autoReleaseAssets": false,
"_globals": { "_globals": {
"__id__": 78 "__id__": 79
}, },
"_id": "6c29a3fe-b10e-44a5-98e3-55595b231767" "_id": "6c29a3fe-b10e-44a5-98e3-55595b231767"
}, },
@ -77,14 +77,11 @@
"__id__": 8 "__id__": 8
}, },
{ {
"__id__": 57 "__id__": 60
} }
], ],
"_active": true, "_active": true,
"_components": [ "_components": [
{
"__id__": 72
},
{ {
"__id__": 73 "__id__": 73
}, },
@ -96,13 +93,16 @@
}, },
{ {
"__id__": 76 "__id__": 76
},
{
"__id__": 77
} }
], ],
"_prefab": null, "_prefab": null,
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 540, "x": 540,
"y": 1180, "y": 960,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@ -187,7 +187,7 @@
"_priority": 0, "_priority": 0,
"_fov": 45, "_fov": 45,
"_fovAxis": 0, "_fovAxis": 0,
"_orthoHeight": 1180, "_orthoHeight": 960,
"_near": 0, "_near": 0,
"_far": 2000, "_far": 2000,
"_color": { "_color": {
@ -279,8 +279,8 @@
"__prefab": null, "__prefab": null,
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 1920, "width": 960,
"height": 1280 "height": 640
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@ -315,7 +315,7 @@
}, },
"_type": 0, "_type": 0,
"_fillType": 0, "_fillType": 0,
"_sizeMode": 1, "_sizeMode": 0,
"_fillCenter": { "_fillCenter": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
"x": 0, "x": 0,
@ -341,22 +341,22 @@
"__id__": 9 "__id__": 9
}, },
{ {
"__id__": 50 "__id__": 53
} }
], ],
"_active": true, "_active": true,
"_components": [ "_components": [
{
"__id__": 53
},
{
"__id__": 54
},
{
"__id__": 55
},
{ {
"__id__": 56 "__id__": 56
},
{
"__id__": 57
},
{
"__id__": 58
},
{
"__id__": 59
} }
], ],
"_prefab": null, "_prefab": null,
@ -421,15 +421,18 @@
}, },
{ {
"__id__": 39 "__id__": 39
},
{
"__id__": 48
} }
], ],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 48 "__id__": 51
}, },
{ {
"__id__": 49 "__id__": 52
} }
], ],
"_prefab": null, "_prefab": null,
@ -593,7 +596,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": 750, "y": 566.898,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@ -1878,6 +1881,115 @@
"handler": "clickStart", "handler": "clickStart",
"customEventData": "" "customEventData": ""
}, },
{
"__type__": "cc.Node",
"_name": "Logo_RB7",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 9
},
"_children": [],
"_active": false,
"_components": [
{
"__id__": 49
},
{
"__id__": 50
}
],
"_prefab": null,
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": -803,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": "2bblM/DSBMe6KMYofkJJGr"
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 48
},
"_enabled": true,
"__prefab": null,
"_contentSize": {
"__type__": "cc.Size",
"width": 1080,
"height": 312
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": "e50wgGHzZJwpMB6DCIivRa"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 48
},
"_enabled": true,
"__prefab": null,
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_spriteFrame": {
"__uuid__": "6026c6e3-fcc3-4e27-9bee-99464919c78f@f9941",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0,
"_fillType": 0,
"_sizeMode": 1,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_useGrayscale": false,
"_atlas": null,
"_id": "deK5Mon6xLdIgdf25yuG6b"
},
{ {
"__type__": "cc.UITransform", "__type__": "cc.UITransform",
"_name": "", "_name": "",
@ -1891,7 +2003,7 @@
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 1080, "width": 1080,
"height": 3000 "height": 2560
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@ -1942,10 +2054,10 @@
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 51 "__id__": 54
}, },
{ {
"__id__": 52 "__id__": 55
} }
], ],
"_prefab": null, "_prefab": null,
@ -1984,14 +2096,14 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 50 "__id__": 53
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 1080, "width": 1080,
"height": 3000 "height": 2560
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@ -2006,7 +2118,7 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 50 "__id__": 53
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
@ -2043,7 +2155,7 @@
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 1080, "width": 1080,
"height": 3000 "height": 2560
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@ -2148,22 +2260,22 @@
}, },
"_children": [ "_children": [
{ {
"__id__": 58 "__id__": 61
}, },
{ {
"__id__": 62 "__id__": 65
}, },
{ {
"__id__": 67 "__id__": 68
} }
], ],
"_active": false, "_active": false,
"_components": [ "_components": [
{ {
"__id__": 70 "__id__": 71
}, },
{ {
"__id__": 71 "__id__": 72
} }
], ],
"_prefab": null, "_prefab": null,
@ -2202,19 +2314,19 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"_parent": { "_parent": {
"__id__": 57 "__id__": 60
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 59 "__id__": 62
}, },
{ {
"__id__": 60 "__id__": 63
}, },
{ {
"__id__": 61 "__id__": 64
} }
], ],
"_prefab": null, "_prefab": null,
@ -2253,7 +2365,7 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 58 "__id__": 61
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
@ -2275,7 +2387,7 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 58 "__id__": 61
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
@ -2287,7 +2399,7 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 58 "__id__": 61
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
@ -2326,22 +2438,16 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"_parent": { "_parent": {
"__id__": 57 "__id__": 60
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{
"__id__": 63
},
{
"__id__": 64
},
{
"__id__": 65
},
{ {
"__id__": 66 "__id__": 66
},
{
"__id__": 67
} }
], ],
"_prefab": null, "_prefab": null,
@ -2380,7 +2486,7 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 62 "__id__": 65
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
@ -2402,7 +2508,7 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 62 "__id__": 65
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
@ -2416,7 +2522,7 @@
"b": 255, "b": 255,
"a": 255 "a": 255
}, },
"_string": "AID_SWITCH_PORTRAIT_MODE", "_string": "Please switch to portrait mode",
"_horizontalAlign": 1, "_horizontalAlign": 1,
"_verticalAlign": 1, "_verticalAlign": 1,
"_actualFontSize": 61, "_actualFontSize": 61,
@ -2458,65 +2564,22 @@
"_shadowBlur": 2, "_shadowBlur": 2,
"_id": "92S1XjIaBKcrby/Iq5m4Rm" "_id": "92S1XjIaBKcrby/Iq5m4Rm"
}, },
{
"__type__": "0059a+GnsRMGp0ldUMAWFR3",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 62
},
"_enabled": true,
"__prefab": null,
"_key": "AID_SWITCH_PORTRAIT_MODE",
"_id": "b4sv+rGApGS4cmsJxtx3Ff"
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 62
},
"_enabled": true,
"__prefab": null,
"_alignFlags": 40,
"_target": null,
"_left": 0,
"_right": 0,
"_top": 1110.2,
"_bottom": 734.2,
"_horizontalCenter": 0,
"_verticalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 919.013671875,
"_originalHeight": 75.6,
"_alignMode": 2,
"_lockFlags": 0,
"_id": "08Eoc4eJJLmYIFbGKHRI4L"
},
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "rotate_phone", "_name": "rotate_phone",
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"_parent": { "_parent": {
"__id__": 57 "__id__": 60
}, },
"_children": [], "_children": [],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 68 "__id__": 69
}, },
{ {
"__id__": 69 "__id__": 70
} }
], ],
"_prefab": null, "_prefab": null,
@ -2555,7 +2618,7 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 67 "__id__": 68
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
@ -2577,7 +2640,7 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 67 "__id__": 68
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
@ -2616,7 +2679,7 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 57 "__id__": 60
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
@ -2638,11 +2701,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 57 "__id__": 60
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
"_alignFlags": 40, "_alignFlags": 45,
"_target": null, "_target": null,
"_left": 0, "_left": 0,
"_right": 0, "_right": 0,
@ -2657,7 +2720,7 @@
"_isAbsHorizontalCenter": true, "_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true, "_isAbsVerticalCenter": true,
"_originalWidth": 1080, "_originalWidth": 1080,
"_originalHeight": 0, "_originalHeight": 1920,
"_alignMode": 2, "_alignMode": 2,
"_lockFlags": 0, "_lockFlags": 0,
"_id": "7aUBGhIOdMcoBPdaq1qcxJ" "_id": "7aUBGhIOdMcoBPdaq1qcxJ"
@ -2675,7 +2738,7 @@
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 1080, "width": 1080,
"height": 2360 "height": 1920
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@ -2732,7 +2795,7 @@
"__id__": 42 "__id__": 42
}, },
"GameNode": { "GameNode": {
"__id__": 50 "__id__": 53
}, },
"languageJson": { "languageJson": {
"__uuid__": "778fb4f7-5070-4fb1-b5aa-432865f396b9", "__uuid__": "778fb4f7-5070-4fb1-b5aa-432865f396b9",
@ -2753,8 +2816,11 @@
"BG_01": { "BG_01": {
"__id__": 5 "__id__": 5
}, },
"RB7Logo": {
"__id__": 48
},
"rotateNode": { "rotateNode": {
"__id__": 57 "__id__": 60
}, },
"_id": "d8F/UwpTxNpZhwSJjDvnkk" "_id": "d8F/UwpTxNpZhwSJjDvnkk"
}, },
@ -2766,9 +2832,8 @@
"node": { "node": {
"__id__": 2 "__id__": 2
}, },
"_enabled": false, "_enabled": true,
"__prefab": null, "__prefab": null,
"btn_start": null,
"_id": "e0mFspN7JJYrq3HnAr6OO6" "_id": "e0mFspN7JJYrq3HnAr6OO6"
}, },
{ {
@ -2782,29 +2847,29 @@
{ {
"__type__": "cc.SceneGlobals", "__type__": "cc.SceneGlobals",
"ambient": { "ambient": {
"__id__": 79
},
"shadows": {
"__id__": 80 "__id__": 80
}, },
"_skybox": { "shadows": {
"__id__": 81 "__id__": 81
}, },
"fog": { "_skybox": {
"__id__": 82 "__id__": 82
}, },
"octree": { "fog": {
"__id__": 83 "__id__": 83
}, },
"skin": { "octree": {
"__id__": 84 "__id__": 84
}, },
"lightProbeInfo": { "skin": {
"__id__": 85 "__id__": 85
}, },
"postSettings": { "lightProbeInfo": {
"__id__": 86 "__id__": 86
}, },
"postSettings": {
"__id__": 87
},
"bakedWithStationaryMainLight": false, "bakedWithStationaryMainLight": false,
"bakedWithHighpLightmap": false "bakedWithHighpLightmap": false
}, },

View File

@ -8,9 +8,6 @@ export class AntiSleepManager extends Component {
private wakeLock: any = null; private wakeLock: any = null;
_enabled: boolean = false; _enabled: boolean = false;
@property(Node)
btn_start: Node = null
onLoad() { onLoad() {
this.noSleep = new NoSleep(); this.noSleep = new NoSleep();
} }

View File

@ -1,14 +1,37 @@
import { _decorator, Node, Component, screen, view, ResolutionPolicy, Sprite, sys } from 'cc'; import { _decorator, Node, Component, screen, view, ResolutionPolicy, Sprite, sys, Label, Widget, Vec3, UITransform } from 'cc';
import { LocalizedLabel } from './i18n/LocalizedLabel'; import { LocalizedLabel } from './i18n/LocalizedLabel';
import { getLanguage } from './comm';
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
export let SWITCH_PROTRAIT_MODE = {
"da": "Skift venligst til portrættilstand",
"de": "Bitte wechseln Sie in den Portraitmodus",
"en": "Please switch to portrait mode",
"es": "Por favor, cambie al modo retrato",
"fi": "Vaihda muotokuvatilaan",
"fr": "Veuillez passer en mode portrait",
"id": "Silakan beralih ke mode potret",
"it": "Passare alla modalità verticale",
"ja": "ポートレートモードに切り替えてください",
"ko": "세로 모드로 전환해주세요",
"my": "ပုံတူမုဒ်သို့ ပြောင်းပါ။",
"nl": "Schakel over naar de portretmodus",
"pt": "Por favor, mude para o modo retrato",
"ro": "Treceți la modul portret",
"ru": "Пожалуйста, переключитесь в портретный режим",
"sv": "Växla till porträttläge",
"th": "กรุณาสลับเป็นโหมดแนวตั้ง",
"tr": "Lütfen portre moduna geçin",
"vi": "Vui lòng chuyển sang chế độ chân dung",
"zh": "請切換到縱向模式"
};
@ccclass('LayoutAdapter') @ccclass('LayoutAdapter')
export class LayoutAdapter extends Component { export class LayoutAdapter extends Component {
@property(Node) @property(Node)
BG_01: Node = null; BG_01: Node = null;
@property(Node)
RB7Logo: Node = null;
@property(Node) @property(Node)
rotateNode: Node = null; rotateNode: Node = null;
@ -25,8 +48,7 @@ export class LayoutAdapter extends Component {
screen.on('window-resize', this.onWindowResize, this); screen.on('window-resize', this.onWindowResize, this);
screen.on('orientation-change', this.onWindowResize, this); screen.on('orientation-change', this.onWindowResize, this);
this.onWindowResize(); this.onWindowResize();
this.rotateNode.getChildByName('tips').getComponent(LocalizedLabel).fetchRender(); this.rotateNode.getChildByName('tips').getComponent(Label).string = SWITCH_PROTRAIT_MODE[getLanguage()];
this.rotateNode.getChildByName('tips').active = true;
} }
@ -46,17 +68,21 @@ export class LayoutAdapter extends Component {
// 2) 下一帧再取"最终可视尺寸"来计算缩放 // 2) 下一帧再取"最终可视尺寸"来计算缩放
this.scheduleOnce(() => { this.scheduleOnce(() => {
const size = view.getVisibleSize(); // 已更新后的正确值 const size = view.getVisibleSize(); // 已更新后的正确值
const texW = this.sprite.spriteFrame.width; const texW = this.sprite.spriteFrame.width / 2;
const texH = this.sprite.spriteFrame.height; const texH = this.sprite.spriteFrame.height / 2;
const scale = Math.max(size.width / texW, size.height / texH); const scale = Math.max(size.width / texW, size.height / texH);
this.BG_01.setScale(scale, scale); // 铺满并保持比例 this.BG_01.setScale(scale, scale); // 铺满并保持比例
if (this.RB7Logo.active) {
this.RB7Logo.setPosition(new Vec3(0, -size.y / 2 + this.RB7Logo.getComponent(UITransform).height / 2))
}
if (this.isMobile()) { if (this.isMobile()) {
this.rotateNode.getChildByName('tips').active = true;
if (size.width > size.height) { if (size.width > size.height) {
this.rotateNode.getChildByName('block').setScale(scale, scale); this.rotateNode.getChildByName('block').setScale(scale, scale);
this.rotateNode.active = true; this.rotateNode.active = true;
this.rotateNode.getComponent(Widget).updateAlignment();
} else { } else {
this.rotateNode.getChildByName('block').setScale(scale, scale); this.rotateNode.getChildByName('block').setScale(scale, scale);
this.rotateNode.active = false; this.rotateNode.active = false;
@ -78,8 +104,7 @@ export class LayoutAdapter extends Component {
return ( return (
sys.platform === sys.Platform.ANDROID || sys.platform === sys.Platform.ANDROID ||
sys.platform === sys.Platform.IOS || sys.platform === sys.Platform.IOS ||
sys.platform === sys.Platform.MOBILE_BROWSER || sys.platform === sys.Platform.MOBILE_BROWSER
sys.platform === sys.Platform.UNKNOWN
); );
} }

View File

@ -7,7 +7,7 @@ import { PREVIEW } from "cc/env"
const gameId = "rp_10012"; const gameId = "rp_10012";
// let apiaddr = "https://rpgames-api.rpfafafahkdev.com"; // let apiaddr = "https://rpgames-api.rpfafafahkdev.com";
let apiaddr = ""; let apiaddr = "";
let token = "eyJQIjoxMDA5NDksIkUiOjE3NTgyODg4NTUsIlMiOjEwMDEsIkQiOiJycF8xMDAxMiJ9.ACXfz_xRscCMbBWPbQhK825fG0UpsWMbMXviuKXgscc"; let token = "eyJQIjoxMDA5NDksIkUiOjE3NTg1NDgzMjgsIlMiOjEwMDUsIkQiOiJycF8xMDAxMiJ9.B61P0BkCiIOUORoX43qvirKlEH_mB8eUOXly64WBRtk";
let language = "en" let language = "en"
let currency = "THB" let currency = "THB"
let supportUrl = "" let supportUrl = ""
@ -27,7 +27,7 @@ export function getHistoryUrl() {
} }
export function getLanguage() { export function getLanguage() {
// return 'zh'; return 'zh';
return language; return language;
} }

View File

@ -26,10 +26,9 @@ export class LocalizedLabel extends Component {
onLoad() { onLoad() {
// 确保 I18nManager 已初始化 // 确保 I18nManager 已初始化
// if (!I18nManager.instance.ready) { if (I18nManager.instance.ready) {
// I18nManager.instance.init('en', null); this.fetchRender();
// } }
this.fetchRender();
} }
/** /**

View File

@ -11,10 +11,9 @@ export class LocalizedSprite extends Component {
private spriteName: string = ''; private spriteName: string = '';
onLoad() { onLoad() {
// if (!I18nManager.instance.getIsReady()) { if (I18nManager.instance.getIsReady()) {
// I18nManager.instance.init('en'); this.fetchRender();
// } }
this.fetchRender();
} }
fetchRender() { fetchRender() {

View File

@ -60,6 +60,8 @@ export class LoadingUI extends Component {
try { try {
initReqAddr(); initReqAddr();
await I18nManager.instance.init(getLanguage(), this.languageJson); await I18nManager.instance.init(getLanguage(), this.languageJson);
I18nManager.instance.updateSceneRenderers();
this.LoadingUINode.active = true; this.LoadingUINode.active = true;
// 更新进度条到 0.4 // 更新进度条到 0.4
this.updateProgress(0.4); this.updateProgress(0.4);

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "6026c6e3-fcc3-4e27-9bee-99464919c78f",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "6026c6e3-fcc3-4e27-9bee-99464919c78f@6c48a",
"displayName": "Logo RB7",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "6026c6e3-fcc3-4e27-9bee-99464919c78f",
"isUuid": true,
"visible": false,
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "6026c6e3-fcc3-4e27-9bee-99464919c78f@f9941",
"displayName": "Logo RB7",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1080,
"height": 312,
"rawWidth": 1080,
"rawHeight": 312,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-540,
-156,
0,
540,
-156,
0,
-540,
156,
0,
540,
156,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
312,
1080,
312,
0,
0,
1080,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-540,
-156,
0
],
"maxPos": [
540,
156,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "6026c6e3-fcc3-4e27-9bee-99464919c78f@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "6026c6e3-fcc3-4e27-9bee-99464919c78f@6c48a"
}
}

View File

@ -0,0 +1,141 @@
<%- include(versionCheckTemplate, { version: '1.0.0'}) %>
let cc;
function gameStarted() {
return cc?.director?.getScene()
}
export class Application {
constructor () {
this.settingsPath = '<%= settingsJsonPath %>';
this.showFPS = <%= showFPS %>;
this.isRB7 = (new URLSearchParams(window.location.search).get('brand') || '').toLowerCase() === 'rb7';
}
init (engine) {
cc = engine;
cc.game.onPostBaseInitDelegate.add(this.onPostInitBase.bind(this));
cc.game.onPostSubsystemInitDelegate.add(this.onPostSystemInit.bind(this));
let hasGameStarted = false;
let hasAnimationFinished = false;
const self = this;
const loadLottie = () =>{
return new Promise((resolve, reject) => {
const lottie = document.createElement('script');
lottie.src = 'https://cdnjs.cloudflare.com/ajax/libs/lottie-web/5.9.6/lottie.min.js';
lottie.onload = () => resolve();
lottie.onerror = () => reject(new Error('Failed to load lottie'));
document.head.appendChild(lottie);
});
}
const hideLogoScreen = () => {
if (hasGameStarted && hasAnimationFinished) {
document.getElementById('VideoWrapper').style.display = 'none';
document.getElementById('RB7Wrapper').style.display = 'none';
}
}
const initSplashScreen = () => {
const videoWrapper = document.getElementById('VideoWrapper');
const rb7Wrapper = document.getElementById('RB7Wrapper');
if(self.isRB7) {
rb7Wrapper.style.display = 'block';
loadLottie().then(() => {
initRB7Animation();
})
} else {
videoWrapper.style.display = 'block';
}
}
const initRB7Animation = () => {
// 设置容器样式
const rb7Wrapper = document.getElementById('RB7Wrapper');
const rb7Animation = document.getElementById('rb7Animation');
// 设置包裹容器样式
rb7Wrapper.style.position = 'fixed';
rb7Wrapper.style.width = '100%';
rb7Wrapper.style.height = '100%';
rb7Wrapper.style.top = '0';
rb7Wrapper.style.left = '0';
rb7Wrapper.style.background = 'black';
// 设置动画容器样式
rb7Animation.style.position = 'absolute';
rb7Animation.style.top = '50%';
rb7Animation.style.left = '50%';
if (window.innerWidth > window.innerHeight) {
rb7Animation.style.transform = 'translate(-50%, -50%) scale(0.7)';
} else {
rb7Animation.style.width = '100%';
rb7Animation.style.height = '100%';
rb7Animation.style.transform = 'translate(-50%, -50%) scale(1)';
}
const animation = lottie.loadAnimation({
container: rb7Animation,
renderer: 'svg',
loop: false,
autoplay: true,
path: '/shared/rb7/introl_RB7.json',
rendererSettings: {
preserveAspectRatio: 'xMidYMid meet' // 保持宽高比并居中
}
});
animation.addEventListener('complete', () => {
hasAnimationFinished = true;
hideLogoScreen();
});
}
const delayTime = self.isRB7 ? 5400 : 2000;
if(!self.isRB7){
setTimeout(() => {
hasAnimationFinished = true;
hideLogoScreen();
}, delayTime);
}
// Init
initSplashScreen();
cc.game.onStart = function () {
console.log('on game start!');
hasGameStarted = true;
hideLogoScreen();
};
}
onPostInitBase () {
// cc.settings.overrideSettings('assets', 'server', '');
// do custom logic
}
onPostSystemInit () {
// do custom logic
}
start () {
return cc.game.init({
debugMode: <%= debugMode %> ? cc.DebugMode.INFO : cc.DebugMode.ERROR,
settingsPath: this.settingsPath,
overrideSettings: {
// assets: {
// preloadBundles: [{ bundle: 'main', version: 'xxx' }],
// }
profiling: {
showFPS: this.showFPS,
}
}
}).then(() => cc.game.run());
}
}

View File

@ -0,0 +1,3 @@
{
"web-mobile": "1.0.0"
}

View File

@ -0,0 +1,113 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>La Bu Bu</title>
<link rel="icon" href="/shared/favicon.ico">
<!--http://www.html5rocks.com/en/mobile/mobifying/-->
<meta name="viewport"
content="width=device-width,user-scalable=no,initial-scale=1,minimum-scale=1,maximum-scale=1,minimal-ui=true" />
<!--https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html-->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="format-detection" content="telephone=no">
<!-- force webkit on 360 -->
<meta name="renderer" content="webkit" />
<meta name="force-rendering" content="webkit" />
<!-- force edge on IE -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="msapplication-tap-highlight" content="no">
<!-- force full screen on some browser -->
<meta name="full-screen" content="yes" />
<meta name="x5-fullscreen" content="true" />
<meta name="360-fullscreen" content="true" />
<!-- 强制竖屏 -->
<meta name="screen-orientation" content="portrait">
<!--fix fireball/issues/3568 -->
<!--<meta name="browsermode" content="application">-->
<meta name="x5-page-mode" content="app">
<!--<link rel="apple-touch-icon" href=".png" />-->
<!--<link rel="apple-touch-icon-precomposed" href=".png" />-->
<link rel="stylesheet" type="text/css" href="<%= cssUrl %>" />
<style>
#VideoWrapper,
#RB7Wrapper {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: black;
z-index: 9999;
}
#video1 {
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
max-height: 100%;
max-width: 100%;
margin: auto;
object-fit: contain;
overflow-clip-margin: content-box;
overflow: clip;
}
#VideoWrapper,
#RB7Wrapper {
display: none;
}
</style>
</head>
<body>
<!-- Video elements -->
<div id="VideoWrapper">
<img id="video1" src="/shared/LogoAnimation.png" style="display: block;">
</div>
<!-- 新增RB7动画容器 -->
<div id="RB7Wrapper">
<div id="rb7Animation"></div>
</div>
<div id="GameDiv" cc_exact_fit_screen="true">
<div id="Cocos3dGameContainer">
<canvas id="GameCanvas" oncontextmenu="event.preventDefault()" tabindex="99"></canvas>
</div>
</div>
<!-- 添加 Service Worker 注册代码 -->
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('./service-worker.js')
.then(registration => {
})
.catch(err => {
});
});
}
</script>
<%- include(cocosTemplate, {}) %>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1,119 @@
const CacheManager = (function () {
const CACHE_NAME = 'game-cache-v2';
const DEBUG = false;
function log(...args) {
if (DEBUG) {
console.log('[CacheManager]', ...args);
}
}
const CACHE_PATTERNS = [
/assets\/.*?\.png$/i, // assets 目录及其子目录下的所有 PNG 文件
/assets\/.*?\.jpg$/i, // assets 目录及其子目录下的所有 JPG 文件
/assets\/.*?\.jpeg$/i, // assets 目录及其子目录下的所有 JPEG 文件
/assets\/.*?\.json$/i, // assets 目录及其子目录下的所有 JSON 文件
/assets\/.*?\.mp3$/i, // assets 目录及其子目录下的所有 MP3 文件
/assets\/.*?\.wav$/i, // assets 目录及其子目录下的所有 WAV 文件
];
// 添加调试日志
function shouldCacheRequest(url) {
const shouldCache = CACHE_PATTERNS.some(pattern => {
const matches = url.match(pattern);
return matches;
});
return shouldCache;
}
// 处理安装事件
function handleInstall(event) {
log('Service Worker installing...');
// 跳过等待,直接激活
self.skipWaiting();
event.waitUntil(
caches.open(CACHE_NAME).then(cache => {
log('Cache opened');
})
);
}
// 处理请求
async function handleFetch(event) {
const request = event.request;
if (request.method !== 'GET' || !shouldCacheRequest(request.url)) {
return;
}
event.respondWith(
(async () => {
try {
// 先尝试从缓存获取
const cachedResponse = await caches.match(request);
if (cachedResponse) {
log('Cache hit:', request.url);
return cachedResponse;
}
log('Cache miss:', request.url);
// 从网络获取
const networkResponse = await fetch(request);
if (!networkResponse || networkResponse.status !== 200) {
return networkResponse;
}
// 缓存响应
const responseToCache = networkResponse.clone();
const cache = await caches.open(CACHE_NAME);
await cache.put(request, responseToCache);
log('Cached:', request.url);
return networkResponse;
} catch (error) {
log('Fetch error:', error);
throw error;
}
})()
);
}
// 处理激活事件
function handleActivate(event) {
log('Service Worker activating...');
event.waitUntil(
Promise.all([
// 清理旧缓存
caches.keys().then(cacheNames => {
return Promise.all(
cacheNames.map(cacheName => {
if (cacheName !== CACHE_NAME) {
log('Deleting old cache:', cacheName);
return caches.delete(cacheName);
}
})
);
}),
// 立即接管页面
clients.claim()
])
);
}
// 初始化
function init() {
self.addEventListener('install', handleInstall);
self.addEventListener('fetch', handleFetch);
self.addEventListener('activate', handleActivate);
}
return {
init: init
};
})();
// 初始化缓存管理器
CacheManager.init();

View File

@ -0,0 +1,74 @@
{
"name": "rp_10012",
"server": "",
"platform": "web-mobile",
"buildPath": "project://build",
"debug": false,
"buildMode": "normal",
"mangleProperties": false,
"md5Cache": true,
"skipCompressTexture": false,
"sourceMaps": "false",
"overwriteProjectSettings": {
"includeModules": {
"gfx-webgl2": "on",
"physics": "inherit-project-setting",
"physics-2d": "inherit-project-setting"
},
"macroConfig": {
"cleanupImageCache": "off"
}
},
"nativeCodeBundleMode": "both",
"polyfills": {
"asyncFunctions": true
},
"experimentalEraseModules": false,
"startSceneAssetBundle": false,
"bundleConfigs": [],
"inlineEnum": true,
"useBuiltinServer": false,
"md5CacheOptions": {
"excludes": [],
"includes": [],
"replaceOnly": [],
"handleTemplateMd5Link": true
},
"mainBundleIsRemote": false,
"mainBundleCompressionType": "merge_dep",
"useSplashScreen": false,
"bundleCommonChunk": false,
"packAutoAtlas": true,
"startScene": "6c29a3fe-b10e-44a5-98e3-55595b231767",
"outputName": "web-mobile",
"taskName": "web-mobile",
"scenes": [
{
"url": "db://assets/Loading/game.scene",
"uuid": "6c29a3fe-b10e-44a5-98e3-55595b231767"
}
],
"wasmCompressionMode": false,
"packages": {
"web-mobile": {
"useWebGPU": false,
"orientation": "auto",
"embedWebDebugger": false,
"__version__": "1.0.1"
},
"adsense-h5g-plugin": {
"enableAdsense": false,
"enableTestAd": false,
"__version__": "1.0.1",
"AFPHostPropertyCode": "other",
"AFPHostDomain": "douyougame.com",
"otherAFPHostPropertyCode": "",
"otherAFPDomain": ""
},
"cocos-service": {
"configID": "7476c6",
"services": []
}
},
"__version__": "1.3.9"
}

View File

@ -3,9 +3,9 @@
"general": { "general": {
"designResolution": { "designResolution": {
"width": 1080, "width": 1080,
"height": 2360, "height": 1920,
"fitWidth": false, "fitWidth": true,
"fitHeight": true "fitHeight": false
} }
}, },
"custom_joint_texture_layouts": [] "custom_joint_texture_layouts": []