From a70a17b51edb584cbb42d5b9c9adb2fef9368e29 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Fri, 16 Jun 2023 16:11:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=83=A8=E5=88=86=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .prettierignore | 1 + public/_server/MotaAction.g4 | 20 +++---------------- public/_server/MotaActionParser.js | 3 +-- public/libs/core.js | 31 ++++++++---------------------- public/project/data.js | 7 ------- src/core/audio/audio.ts | 5 +++++ src/core/audio/sound.ts | 11 +++++++---- src/types/status.d.ts | 15 --------------- 8 files changed, 25 insertions(+), 68 deletions(-) diff --git a/.prettierignore b/.prettierignore index 264740c..57af69b 100644 --- a/.prettierignore +++ b/.prettierignore @@ -5,4 +5,5 @@ public/project/floors/*.js public/project/items.js public/project/floors/*.js public/project/maps.js +public/_server/**/*.js script/**/*.js \ No newline at end of file diff --git a/public/_server/MotaAction.g4 b/public/_server/MotaAction.g4 index 04bccf0..0368e9e 100644 --- a/public/_server/MotaAction.g4 +++ b/public/_server/MotaAction.g4 @@ -636,13 +636,6 @@ return '{' + [ mainStyle_m - : '主要样式设置:' '标题界面背景图:' EvalString BGNL? Newline - '竖屏标题界面背景图:' EvalString BGNL? Newline - '标题样式;可写 display: none 隐藏标题' EvalString BGNL? Newline - '标题按钮样式:' EvalString BGNL? Newline - '横屏状态栏背景;url(...) 0 0/100% 100% no-repeat 可将图片拉伸自适配' BGNL? Newline EvalString BGNL? Newline - '竖屏状态栏背景:' EvalString BGNL? Newline - '竖屏工具栏背景:' EvalString BGNL? Newline '楼层切换样式:' EvalString BGNL? Newline '状态栏颜色' ColorString Colour '边框颜色' ColorString Colour BGNL? Newline '选中框颜色' ColorString Colour '全局字体' EvalString BEND @@ -652,14 +645,7 @@ tooltip : 主要样式设置 default : ["project/images/bg.jpg", "project/images/bg.jpg", "color: white", "background-color: #32369F; opacity: 0.85; color: #FFFFFF; border: #FFFFFF 2px solid; caret-color: #FFD700;", "url(project/materials/ground.png) repeat", "url(project/materials/ground.png) repeat", "url(project/materials/ground.png) repeat", "background-color: black; color: white", "255,255,255,1", "rgba(255,255,255,1)", "204,204,204,1", "rgba(204,204,204,1)", "255,215,0,1", "rgba(255,215,0,1)", "Verdana"] helpUrl : /_docs/#/instruction var code = { - startBackground: EvalString_0, - startVerticalBackground: EvalString_1, - startLogoStyle: EvalString_2, - startButtonsStyle: EvalString_3, - statusLeftBackground: EvalString_4, - statusTopBackground: EvalString_5, - toolsBackground: EvalString_6, - floorChangingStyle: EvalString_7, + floorChangingStyle: EvalString_0, statusBarColor: JSON.parse('['+ColorString_0+']'), borderColor: JSON.parse('['+ColorString_1+']'), selectColor: JSON.parse('['+ColorString_2+']'), @@ -4062,8 +4048,8 @@ Floor_Meta_List /*Floor_Meta_List ['title','name','canFlyTo', 'canFlyFrom', 'canUseQuickShop', 'cannotViewMap', 'cannotMoveDirectly', 'defaultGround', 'ratio', 'upFloor', 'downFloor', 'flyPoint', 'bgm', 'color', 'weather', 'underGround']*/; Global_Attribute_List - : '全局字体'|'横屏左侧状态栏背景'|'竖屏上方状态栏背景'|'竖屏下方道具栏背景'|'边框颜色'|'状态栏文字色'|'选中框颜色'|'楼层转换样式'|'装备列表' - /*Global_Attribute_List ['font','statusLeftBackground','statusTopBackground', 'toolsBackground', 'borderColor', 'statusBarColor', 'selectColor', 'floorChangingStyle', 'equipName']*/; + : '全局字体'|'边框颜色'|'状态栏文字色'|'选中框颜色'|'楼层转换样式'|'装备列表' + /*Global_Attribute_List ['font', 'borderColor', 'statusBarColor', 'selectColor', 'floorChangingStyle', 'equipName']*/; Global_Value_List : '血网伤害'|'中毒伤害'|'衰弱效果'|'红宝石效果'|'蓝宝石效果'|'绿宝石效果'|'红血瓶效果'|'蓝血瓶效果'|'黄血瓶效果'|'绿血瓶效果'|'破甲比例'|'反击比例'|'净化比例'|'仇恨增加值'|'图块每帧时间'|'上下楼时间' diff --git a/public/_server/MotaActionParser.js b/public/_server/MotaActionParser.js index bb16fac..23cac8a 100644 --- a/public/_server/MotaActionParser.js +++ b/public/_server/MotaActionParser.js @@ -129,8 +129,7 @@ ActionParser.prototype.parse = function (obj,type) { case 'mainStyle': if(!obj) obj={}; return MotaActionBlocks['mainStyle_m'].xmlText([ - obj.startBackground, obj.startVerticalBackground || obj.startBackground, obj.startLogoStyle, obj.startButtonsStyle, - obj.statusLeftBackground, obj.statusTopBackground, obj.toolsBackground, obj.floorChangingStyle, + obj.floorChangingStyle, obj.statusBarColor, 'rgba('+obj.statusBarColor+')', obj.borderColor, 'rgba('+obj.borderColor+')', obj.selectColor, 'rgba(' + obj.selectColor + ')', obj.font ]); diff --git a/public/libs/core.js b/public/libs/core.js index 583c724..a577892 100644 --- a/public/libs/core.js +++ b/public/libs/core.js @@ -235,23 +235,12 @@ function core() { animateTime: 0 }, globalAttribute: { - equipName: main.equipName || [], - statusLeftBackground: - main.styles.statusLeftBackground || - 'url(project/materials/ground.png) repeat', - statusTopBackground: - main.styles.statusTopBackground || - 'url(project/materials/ground.png) repeat', - toolsBackground: - main.styles.toolsBackground || - 'url(project/materials/ground.png) repeat', - borderColor: main.styles.borderColor || [204, 204, 204, 1], - statusBarColor: main.styles.statusBarColor || [255, 255, 255, 1], - floorChangingStyle: - main.styles.floorChangingStyle || - 'background-color: black; color: white', - selectColor: main.styles.selectColor || [255, 215, 0, 1], - font: main.styles.font || 'Verdana' + equipName: main.equipName, + borderColor: main.styles.borderColor, + statusBarColor: main.styles.statusBarColor, + floorChangingStyle: main.styles.floorChangingStyle, + selectColor: main.styles.selectColor, + font: main.styles.font }, curtainColor: null, @@ -304,9 +293,7 @@ core.prototype.init = async function (coreData, callback) { } core.loader._load(function () { - core.extensions._load(function () { - core._afterLoadResources(callback); - }); + core._afterLoadResources(callback); }); }; @@ -319,9 +306,7 @@ core.prototype.initSync = function (coreData, callback) { this._loadPluginSync(); core.loader._load(function () { - core.extensions._load(function () { - core._afterLoadResources(callback); - }); + core._afterLoadResources(callback); }); }; diff --git a/public/project/data.js b/public/project/data.js index eb3303e..84cec4f 100644 --- a/public/project/data.js +++ b/public/project/data.js @@ -297,13 +297,6 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = ], "startBgm": "title.mp3", "styles": { - "startBackground": " ", - "startVerticalBackground": " ", - "startLogoStyle": " ", - "startButtonsStyle": " ", - "statusLeftBackground": " ", - "statusTopBackground": " ", - "toolsBackground": "#ddd4", "floorChangingStyle": " ", "statusBarColor": [ 255, diff --git a/src/core/audio/audio.ts b/src/core/audio/audio.ts index 6977b87..64d0c28 100644 --- a/src/core/audio/audio.ts +++ b/src/core/audio/audio.ts @@ -13,6 +13,11 @@ interface AudioPlayerEvent extends EmitableEvent { end: (node: AudioBufferSourceNode) => void; } +export type AudioParamOf = Record< + SelectKey, + number +>; + export class AudioPlayer extends EventEmitter { static ac: AudioContext = ac; static index: number = 0; diff --git a/src/core/audio/sound.ts b/src/core/audio/sound.ts index 764f434..60094b0 100644 --- a/src/core/audio/sound.ts +++ b/src/core/audio/sound.ts @@ -1,10 +1,8 @@ import { has } from '../../plugin/utils'; -import { AudioPlayer } from './audio'; +import { AudioParamOf, AudioPlayer } from './audio'; import resource from '../../data/resource.json'; -type Panner = { - [P in SelectKey]: number; -}; +type Panner = AudioParamOf; export class SoundEffect extends AudioPlayer { static playIndex = 0; @@ -45,6 +43,11 @@ export class SoundEffect extends AudioPlayer { /** * 设置音频路由线路 + * ```txt + * 不启用立体声:source -> gain -> destination + * 启用立体声:source -> panner -> gain --> destination + * 单声道立体声:source -> merger -> panner -> gain -> destination + * ``` * @param stereo 是否启用立体声 */ protected initAudio(stereo: boolean = false) { diff --git a/src/types/status.d.ts b/src/types/status.d.ts index 4f5d865..f8f1845 100644 --- a/src/types/status.d.ts +++ b/src/types/status.d.ts @@ -324,21 +324,6 @@ interface TextAttribute { } interface StatusStyle { - /** - * 左侧状态栏背景,css的background属性 - */ - statusLeftBackground: string; - - /** - * 上部状态栏背景,css的background属性 - */ - statusTopBackground: string; - - /** - * 竖屏下的工具栏背景,css的background属性 - */ - toolsBackground: string; - /** * 游戏的边框颜色 */