cg、music ui优化
This commit is contained in:
parent
657bfefae9
commit
2bb9cefc58
@ -11911,16 +11911,16 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
}
|
||||
if (core.domStyle.isVertical) {
|
||||
//竖屏
|
||||
const pageupbox = makeBox([30, 380], [144, 144]);
|
||||
const pagedownbox = makeBox([30, 1080], [144, 144]);
|
||||
const pageupbox = makeBox([200, 1830], [200, 100]);
|
||||
const pagedownbox = makeBox([900, 1830], [200, 100]);
|
||||
|
||||
const imagebox0 = makeBox([200, 300], [480, 320]);
|
||||
const imagebox1 = makeBox([200, 750], [480, 320]);
|
||||
const imagebox2 = makeBox([200, 1200], [480, 320]);
|
||||
const imagebox0 = makeBox([50, 200], [560, 420]);
|
||||
const imagebox1 = makeBox([50, 750], [560, 420]);
|
||||
const imagebox2 = makeBox([50, 1300], [560, 420]);
|
||||
|
||||
const imagebox3 = makeBox([700, 300], [480, 320]);
|
||||
const imagebox4 = makeBox([700, 750], [480, 320]);
|
||||
const imagebox5 = makeBox([700, 1200], [480, 320]);
|
||||
const imagebox3 = makeBox([650, 200], [560, 420]);
|
||||
const imagebox4 = makeBox([650, 750], [560, 420]);
|
||||
const imagebox5 = makeBox([650, 1300], [560, 420]);
|
||||
if (inRect(pos, pagedownbox)) {
|
||||
//2代表当前最大页数-1
|
||||
if (page < this.UIMx.length - 1) {
|
||||
@ -11996,14 +11996,14 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
}
|
||||
}
|
||||
} else {
|
||||
const pageupbox = makeBox([30, 340], [144, 144]);
|
||||
const pagedownbox = makeBox([30, 840], [144, 144]);
|
||||
const imagebox0 = makeBox([300, 300], [480, 320]);
|
||||
const imagebox1 = makeBox([800, 300], [480, 320]);
|
||||
const imagebox2 = makeBox([1300, 300], [480, 320]);
|
||||
const imagebox3 = makeBox([300, 750], [480, 320]);
|
||||
const imagebox4 = makeBox([800, 750], [480, 320]);
|
||||
const imagebox5 = makeBox([1300, 750], [480, 320]);
|
||||
const pageupbox = makeBox([200, 1110], [200, 100]);
|
||||
const pagedownbox = makeBox([1600, 1110], [200, 100]);
|
||||
const imagebox0 = makeBox([75, 150], [600, 450]);
|
||||
const imagebox1 = makeBox([725, 150], [600, 450]);
|
||||
const imagebox2 = makeBox([1300, 150], [600, 450]);
|
||||
const imagebox3 = makeBox([75, 650], [600, 450]);
|
||||
const imagebox4 = makeBox([725, 650], [600, 450]);
|
||||
const imagebox5 = makeBox([1375, 650], [600, 450]);
|
||||
if (inRect(pos, pagedownbox)) {
|
||||
if (page < this.UIMx.length - 1) {
|
||||
page++;
|
||||
@ -12080,11 +12080,12 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
6,
|
||||
core.ui._buildFont(66, true)
|
||||
);
|
||||
|
||||
core.fillBoldText1(
|
||||
ctx,
|
||||
'上一页',
|
||||
100,
|
||||
450,
|
||||
300,
|
||||
1900,
|
||||
page === 0 ? "#444444" : "#FFFFFF",
|
||||
"#000000",
|
||||
6,
|
||||
@ -12094,8 +12095,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
core.fillBoldText1(
|
||||
ctx,
|
||||
(page + 1) + "/" + this.UIMx.length,
|
||||
100,
|
||||
800,
|
||||
650,
|
||||
1900,
|
||||
"#FFFFFF",
|
||||
"#000000",
|
||||
6,
|
||||
@ -12104,8 +12105,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
core.fillBoldText1(
|
||||
ctx,
|
||||
'下一页',
|
||||
100,
|
||||
1150,
|
||||
1000,
|
||||
1900,
|
||||
page === this.UIMx.length - 1 ? "#444444" : "#FFFFFF",
|
||||
"#000000",
|
||||
6,
|
||||
@ -12121,20 +12122,20 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
const img = core.material.images.images[this.UIMx[page][j][i]];
|
||||
core.strokeRect(
|
||||
ctx,
|
||||
200 + j * 500,
|
||||
300 + i * 450,
|
||||
480,
|
||||
320,
|
||||
50 + j * 600,
|
||||
200 + i * 550,
|
||||
560,
|
||||
420,
|
||||
"#444444",
|
||||
5
|
||||
);
|
||||
if (img)
|
||||
ctx.drawImage(
|
||||
img,
|
||||
200 + j * 500 + 15,
|
||||
300 + i * 450 + 15,
|
||||
480 - 30,
|
||||
320 - 30
|
||||
50 + j * 600 + 15,
|
||||
200 + i * 550 + 15,
|
||||
560 - 30,
|
||||
420 - 30
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -12161,8 +12162,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
core.fillBoldText1(
|
||||
ctx,
|
||||
'上一页',
|
||||
100,
|
||||
400,
|
||||
300,
|
||||
1180,
|
||||
page === 0 ? "#444444" : "#FFFFFF",
|
||||
"#000000",
|
||||
6,
|
||||
@ -12172,8 +12173,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
core.fillBoldText1(
|
||||
ctx,
|
||||
(page + 1) + "/" + this.UIMx.length,
|
||||
100,
|
||||
650,
|
||||
1000,
|
||||
1180,
|
||||
"#FFFFFF",
|
||||
"#000000",
|
||||
6,
|
||||
@ -12182,8 +12183,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
core.fillBoldText1(
|
||||
ctx,
|
||||
'下一页',
|
||||
100,
|
||||
900,
|
||||
1700,
|
||||
1180,
|
||||
page === this.UIMx.length - 1 ? "#444444" : "#FFFFFF",
|
||||
"#000000",
|
||||
6,
|
||||
@ -12195,10 +12196,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
for (let j = 0; j < 3; j++) {
|
||||
core.strokeRect(
|
||||
ctx,
|
||||
300 + j * 500,
|
||||
300 + i * 450,
|
||||
480,
|
||||
320,
|
||||
75 + j * 650,
|
||||
150 + i * 500,
|
||||
600,
|
||||
450,
|
||||
"#444444",
|
||||
2
|
||||
);
|
||||
@ -12206,10 +12207,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
if (img)
|
||||
ctx.drawImage(
|
||||
img,
|
||||
300 + j * 500 + 15,
|
||||
300 + i * 450 + 15,
|
||||
480 - 30,
|
||||
320 - 30
|
||||
75 + j * 650 + 15,
|
||||
150 + i * 500 + 15,
|
||||
600 - 30,
|
||||
450 - 30
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -13741,71 +13742,71 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
};
|
||||
},
|
||||
"属性映射": function () {
|
||||
// 在此增加新插件
|
||||
this.statusEquip = function () {
|
||||
const hero = core.status.hero;
|
||||
//装备具体效果在这里写,道具填写道具类型为equip并选择装备类型,道具的装备属性中装备类型遵循以下填写方式:
|
||||
//固定装备孔的填写0/1/2/3,分别对应主手、副手、防具、饰品
|
||||
//主副手同时可使用的,填写 武器
|
||||
//具体的换装时装备切换操作写在新道具栏/物品栏插件
|
||||
//当前仅完善法杖、单手剑、双手剑、匕首、盾牌的多孔切换操作
|
||||
//主武器效果
|
||||
if (core.getEquip[0]) {
|
||||
switch (core.getEquip[0]) {
|
||||
case "sword1":
|
||||
hero.atk = hero.str + hero.agi;
|
||||
hero.magic = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//副手效果
|
||||
if (core.getEquip[1]) {
|
||||
switch (core.getEquip[1]) {
|
||||
case "sword1":
|
||||
hero.atk += hero.agi;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//防具效果
|
||||
if (core.getEquip[2]) {
|
||||
switch (core.getEquip[2]) {
|
||||
case "sword1":
|
||||
hero.def = hero.con + hero.agi;
|
||||
hero.hpmax = 2.5 * hero.con;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//饰品效果
|
||||
if (core.getEquip[3]) {
|
||||
switch (core.getEquip[3]) {
|
||||
case "sword1":
|
||||
hero.speed += 0.4 * hero.int + 0.6 * hero.agi;
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
this.updateStatus = function () {
|
||||
const hero = core.status.hero;
|
||||
//默认映射关系
|
||||
hero.hpmax = hero.str * 50 + hero.con * 50;
|
||||
hero.atk = hero.str * 0.5 + hero.int * 0.5;
|
||||
hero.manamax = hero.agi * 0.5 + hero.int * 0.5;
|
||||
hero.def = hero.con * 0.5 + hero.agi * 0.5;
|
||||
hero.mdef = hero.con * 0.5 + hero.int * 0.5;
|
||||
hero.speed = hero.str * 0.5 + hero.agi * 0.5;
|
||||
hero.magic = false;
|
||||
this.statusEquip(); //处理装备效果
|
||||
for (let v in hero) {
|
||||
//归整
|
||||
if (typeof hero[v] === "number") {
|
||||
hero[v] = Math.floor(hero[v]);
|
||||
}
|
||||
}
|
||||
hero.hp = Math.min(hero.hp, hero.hpmax);
|
||||
hero.mana = Math.min(hero.mana, hero.manamax);
|
||||
core.status.hero = hero;
|
||||
};
|
||||
},
|
||||
// 在此增加新插件
|
||||
this.statusEquip = function () {
|
||||
const hero = core.status.hero;
|
||||
//装备具体效果在这里写,道具填写道具类型为equip并选择装备类型,道具的装备属性中装备类型遵循以下填写方式:
|
||||
//固定装备孔的填写0/1/2/3,分别对应主手、副手、防具、饰品
|
||||
//主副手同时可使用的,填写 武器
|
||||
//具体的换装时装备切换操作写在新道具栏/物品栏插件
|
||||
//当前仅完善法杖、单手剑、双手剑、匕首、盾牌的多孔切换操作
|
||||
//主武器效果
|
||||
if (core.getEquip[0]) {
|
||||
switch (core.getEquip[0]) {
|
||||
case "sword1":
|
||||
hero.atk = hero.str + hero.agi;
|
||||
hero.magic = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//副手效果
|
||||
if (core.getEquip[1]) {
|
||||
switch (core.getEquip[1]) {
|
||||
case "sword1":
|
||||
hero.atk += hero.agi;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//防具效果
|
||||
if (core.getEquip[2]) {
|
||||
switch (core.getEquip[2]) {
|
||||
case "sword1":
|
||||
hero.def = hero.con + hero.agi;
|
||||
hero.hpmax = 2.5 * hero.con;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//饰品效果
|
||||
if (core.getEquip[3]) {
|
||||
switch (core.getEquip[3]) {
|
||||
case "sword1":
|
||||
hero.speed += 0.4 * hero.int + 0.6 * hero.agi;
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
this.updateStatus = function () {
|
||||
const hero = core.status.hero;
|
||||
//默认映射关系
|
||||
hero.hpmax = hero.str * 50 + hero.con * 50;
|
||||
hero.atk = hero.str * 0.5 + hero.int * 0.5;
|
||||
hero.manamax = hero.agi * 0.5 + hero.int * 0.5;
|
||||
hero.def = hero.con * 0.5 + hero.agi * 0.5;
|
||||
hero.mdef = hero.con * 0.5 + hero.int * 0.5;
|
||||
hero.speed = hero.str * 0.5 + hero.agi * 0.5;
|
||||
hero.magic = false;
|
||||
this.statusEquip(); //处理装备效果
|
||||
for (let v in hero) {
|
||||
//归整
|
||||
if (typeof hero[v] === "number") {
|
||||
hero[v] = Math.floor(hero[v]);
|
||||
}
|
||||
}
|
||||
hero.hp = Math.min(hero.hp, hero.hpmax);
|
||||
hero.mana = Math.min(hero.mana, hero.manamax);
|
||||
core.status.hero = hero;
|
||||
};
|
||||
},
|
||||
"回合制boss战": function () {
|
||||
// 在此增加新插件
|
||||
const boss = document.createElement("canvas"); //boss战画布设置
|
||||
@ -14186,8 +14187,16 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
let page = 0; //初始页面
|
||||
let ischange = false;
|
||||
let isvolume = false;
|
||||
let pcx = 0;
|
||||
let pcy = 0;
|
||||
|
||||
function shuffle(arr) {
|
||||
let n = arr.length,
|
||||
random;
|
||||
while (n) {
|
||||
random = (Math.random() * n--) >>> 0;
|
||||
[arr[n], arr[random]] = [arr[random], arr[n]];
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
music.addEventListener('mousedown', function (e) {
|
||||
e.stopPropagation();
|
||||
const left = core.dom.gameGroup.offsetLeft;
|
||||
@ -14284,6 +14293,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
} else {
|
||||
main.core.ui.music.selection[1] += 1
|
||||
}
|
||||
main.core.ui.music.randomList.indexOf(v => v === main.core.ui.music.musicMx[main.core.ui.music.selection[0]][main.core.ui.music.selection[1]])
|
||||
page = main.core.ui.music.selection[0]
|
||||
audio.src = "project/bgms/" + main.core.ui.music.musicMx[main.core.ui.music.selection[0]][main.core.ui.music.selection[1]]
|
||||
|
||||
@ -14291,8 +14301,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
main.core.ui.music.stop = false
|
||||
break;
|
||||
case 'suiji':
|
||||
main.core.ui.music.selection[0] = getRandomInt(0, main.core.ui.music.musicMx.length)
|
||||
main.core.ui.music.selection[1] = getRandomInt(0, main.core.ui.music.musicMx[main.core.ui.music.selection[0]].length)
|
||||
if (main.core.ui.music.random < main.core.ui.music.randomList.length - 1) {
|
||||
main.core.ui.music.random += 1
|
||||
} else {
|
||||
main.core.ui.music.random = 0
|
||||
}
|
||||
main.core.ui.music.selection[0] = main.core.ui.music.musicMx.findIndex(v => v.includes(main.core.ui.music.randomList[main.core.ui.music.random]))
|
||||
main.core.ui.music.selection[1] = main.core.ui.music.musicMx[main.core.ui.music.selection[0]].indexOf(main.core.ui.music.randomList[main.core.ui.music.random])
|
||||
audio.src = "project/bgms/" + main.core.ui.music.musicMx[main.core.ui.music.selection[0]][main.core.ui.music.selection[1]]
|
||||
page = main.core.ui.music.selection[0]
|
||||
|
||||
@ -14301,7 +14316,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
break;
|
||||
}
|
||||
})
|
||||
core.audio = audio
|
||||
|
||||
|
||||
class musicclass {
|
||||
constructor() {
|
||||
@ -14322,6 +14337,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
this.selection = [0, 0]
|
||||
this.stop = false
|
||||
this.type = "xunhuan"
|
||||
this.randomList = []
|
||||
this.random = 0
|
||||
}
|
||||
|
||||
//更新
|
||||
@ -14368,15 +14385,15 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
}
|
||||
if (core.domStyle.isVertical) { //竖屏
|
||||
|
||||
const pageupbox = makeBox([100, 900], [200, 100]);
|
||||
const pagedownbox = makeBox([700, 900], [200, 100]);
|
||||
const musicbox = makeBox([100, 200], [800, this.musicMx[page].length * 100])
|
||||
const beforebox = makeBox([310, 1720], [100, 100])
|
||||
const afterbox = makeBox([700, 1720], [100, 100])
|
||||
const playbox = makeBox([480, 1680], [160, 160])
|
||||
const typebox = makeBox([830, 1710], [150, 150])
|
||||
const changebox = makeBox([-100 + pcx, pcy + 590], [1000, 20])
|
||||
const volumebox = makeBox([890 + 250, 200], [20, 500])
|
||||
const pageupbox = makeBox([100, 1230], [200, 100]);
|
||||
const pagedownbox = makeBox([950, 1230], [200, 100]);
|
||||
const musicbox = makeBox([100, 200], [1048, this.musicMx[page].length * 100])
|
||||
const beforebox = makeBox([120, 1720], [100, 100])
|
||||
const afterbox = makeBox([780, 1720], [100, 100])
|
||||
const playbox = makeBox([420, 1680], [200, 200])
|
||||
const typebox = makeBox([1040, 1700], [120, 120])
|
||||
const changebox = makeBox([100, 1590], [1048, 20])
|
||||
const volumebox = makeBox([250, 1940], [1050, 20])
|
||||
if (inRect(pos, pageupbox)) {
|
||||
if (page !== 0) page -= 1
|
||||
return;
|
||||
@ -14416,6 +14433,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
} else {
|
||||
this.selection[1] -= 1
|
||||
}
|
||||
this.randomList.indexOf(this.musicMx[this.selection[0]][this.selection[1]])
|
||||
page = this.selection[0]
|
||||
audio.src = "project/bgms/" + this.musicMx[this.selection[0]][this.selection[1]]
|
||||
|
||||
@ -14423,8 +14441,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
this.stop = false
|
||||
break;
|
||||
case 'suiji':
|
||||
this.selection[0] = getRandomInt(0, this.musicMx.length)
|
||||
this.selection[1] = getRandomInt(0, this.musicMx[this.selection[0]].length)
|
||||
if (this.random > 0) {
|
||||
this.random -= 1
|
||||
} else {
|
||||
this.random = this.randomList.length - 1
|
||||
}
|
||||
this.selection[0] = this.musicMx.findIndex(v => v.includes(this.randomList[this.random]))
|
||||
this.selection[1] = this.musicMx[this.selection[0]].indexOf(this.randomList[this.random])
|
||||
audio.src = "project/bgms/" + this.musicMx[this.selection[0]][this.selection[1]]
|
||||
page = this.selection[0]
|
||||
|
||||
@ -14454,6 +14477,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
} else {
|
||||
this.selection[1] += 1
|
||||
}
|
||||
this.random = this.randomList.indexOf(this.musicMx[this.selection[0]][this.selection[1]])
|
||||
page = this.selection[0]
|
||||
audio.src = "project/bgms/" + this.musicMx[this.selection[0]][this.selection[1]]
|
||||
|
||||
@ -14461,8 +14485,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
this.stop = false
|
||||
break;
|
||||
case 'suiji':
|
||||
this.selection[0] = getRandomInt(0, this.musicMx.length)
|
||||
this.selection[1] = getRandomInt(0, this.musicMx[this.selection[0]].length)
|
||||
if (this.random < this.randomList.length - 1) {
|
||||
this.random += 1
|
||||
} else {
|
||||
this.random = 0
|
||||
}
|
||||
this.selection[0] = this.musicMx.findIndex(v => v.includes(this.randomList[this.random]))
|
||||
this.selection[1] = this.musicMx[this.selection[0]].indexOf(this.randomList[this.random])
|
||||
audio.src = "project/bgms/" + this.musicMx[this.selection[0]][this.selection[1]]
|
||||
|
||||
page = this.selection[0]
|
||||
@ -14487,11 +14516,12 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
return;
|
||||
}
|
||||
if (inRect(pos, musicbox)) {
|
||||
pcy = -800
|
||||
const index = Math.floor((py - 1000 - pcy) / 100)
|
||||
|
||||
const index = Math.floor((py - 200) / 100)
|
||||
if (page !== this.selection[0] || index !== this.selection[1]) {
|
||||
this.selection[0] = page
|
||||
this.selection[1] = index
|
||||
this.randomList.indexOf(this.musicMx[this.selection[0]][this.selection[1]])
|
||||
audio.src = "project/bgms/" + this.musicMx[page][index]
|
||||
|
||||
if (!this.stop) audio.play()
|
||||
@ -14518,7 +14548,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
ischange = true
|
||||
}
|
||||
if (inRect(pos, volumebox)) {
|
||||
const time = (700 - py) / 500
|
||||
const time = Math.min(Math.max((px - 250) / 800, 0), 1)
|
||||
audio.volume = time
|
||||
isvolume = true
|
||||
}
|
||||
@ -14572,6 +14602,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
} else {
|
||||
this.selection[1] -= 1
|
||||
}
|
||||
this.indexOf(this.musicMx[this.selection[0]][this.selection[1]])
|
||||
page = this.selection[0]
|
||||
audio.src = "project/bgms/" + this.musicMx[this.selection[0]][this.selection[1]]
|
||||
|
||||
@ -14579,8 +14610,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
this.stop = false
|
||||
break;
|
||||
case 'suiji':
|
||||
this.selection[0] = getRandomInt(0, this.musicMx.length)
|
||||
this.selection[1] = getRandomInt(0, this.musicMx[this.selection[0]].length)
|
||||
if (this.random > 0) {
|
||||
this.random -= 1
|
||||
} else {
|
||||
this.random = this.randomList.length - 1
|
||||
}
|
||||
this.selection[0] = this.musicMx.findIndex(v => v.includes(this.randomList[this.random]))
|
||||
this.selection[1] = this.musicMx[this.selection[0]].indexOf(this.randomList[this.random])
|
||||
audio.src = "project/bgms/" + this.musicMx[this.selection[0]][this.selection[1]]
|
||||
page = this.selection[0]
|
||||
|
||||
@ -14610,6 +14646,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
} else {
|
||||
this.selection[1] += 1
|
||||
}
|
||||
this.randomList.findIndex(v => v === this.musicMx[this.selection[0]][this.selection[1]])
|
||||
page = this.selection[0]
|
||||
audio.src = "project/bgms/" + this.musicMx[this.selection[0]][this.selection[1]]
|
||||
|
||||
@ -14617,8 +14654,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
this.stop = false
|
||||
break;
|
||||
case 'suiji':
|
||||
this.selection[0] = getRandomInt(0, this.musicMx.length)
|
||||
this.selection[1] = getRandomInt(0, this.musicMx[this.selection[0]].length)
|
||||
if (this.random < this.randomList.length - 1) {
|
||||
this.random += 1
|
||||
} else {
|
||||
this.random = 0
|
||||
}
|
||||
this.selection[0] = this.musicMx.findIndex(v => v.includes(this.randomList[this.random]))
|
||||
this.selection[1] = this.musicMx[this.selection[0]].indexOf(main.core.ui.music.randomList[main.core.ui.music.random])
|
||||
audio.src = "project/bgms/" + this.musicMx[this.selection[0]][this.selection[1]]
|
||||
|
||||
page = this.selection[0]
|
||||
@ -14643,10 +14685,12 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
return;
|
||||
}
|
||||
if (inRect(pos, musicbox)) {
|
||||
|
||||
const index = Math.floor((py - 100) / 100)
|
||||
if (page !== this.selection[0] || index !== this.selection[1]) {
|
||||
this.selection[0] = page
|
||||
this.selection[1] = index
|
||||
this.randomList.indexOf(v => v === this.musicMx[this.selection[0]][this.selection[1]])
|
||||
audio.src = "project/bgms/" + this.musicMx[page][index]
|
||||
|
||||
if (!this.stop) audio.play()
|
||||
@ -14673,7 +14717,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
ischange = true
|
||||
}
|
||||
if (inRect(pos, volumebox)) {
|
||||
const time = (px - 100) / 600
|
||||
const time = Math.min(Math.max((px - 100) / 600, 0), 1)
|
||||
audio.volume = time
|
||||
isvolume = true
|
||||
}
|
||||
@ -14683,7 +14727,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
|
||||
if (ischange) {
|
||||
if (core.domStyle.isVertical) {
|
||||
const time = Math.min(Math.max(Math.floor((px - 100) / 1000 * audio.duration), 0), audio.duration)
|
||||
const time = Math.min(Math.max(Math.floor((px - 100) / 600 * audio.duration), 0), audio.duration)
|
||||
|
||||
audio.currentTime = time
|
||||
} else {
|
||||
@ -14695,7 +14739,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
}
|
||||
if (isvolume) {
|
||||
if (core.domStyle.isVertical) {
|
||||
const time = Math.min(Math.max((700 - py) / 500, 0), 1)
|
||||
const time = Math.min(Math.max((px - 250) / 800, 0), 1)
|
||||
audio.volume = time
|
||||
} else {
|
||||
const time = Math.min(Math.max((px - 100) / 600, 0), 1)
|
||||
@ -14714,7 +14758,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
//竖屏
|
||||
|
||||
core.fillRect(ctx, 0, 0, 1248, 2028, "#000000"); //黑色背景
|
||||
ctx.globalAlpha = 0.5; //透明度
|
||||
ctx.globalAlpha = 0.3; //透明度
|
||||
if (bgVertical)
|
||||
ctx.drawImage(bgVertical, 0, 0, 1280, 1500, 0, 0, 1248, 2028); //绘制半透明背景图片
|
||||
ctx.globalAlpha = 1; //恢复为不透明
|
||||
@ -14730,18 +14774,16 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
6,
|
||||
core.ui._buildFont(66, true)
|
||||
);
|
||||
//core.fillRect(ctx, 440, 760, 50, 50)
|
||||
pcx = 0
|
||||
pcy = -800
|
||||
|
||||
|
||||
ctx.strokeStyle = "#FFFFFF"
|
||||
ctx.lineWidth = 3
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(50 + pcx, pcy + 1000)
|
||||
ctx.lineTo(50 + pcx, pcy + 1900)
|
||||
ctx.moveTo(1000 + pcx, pcy + 1000)
|
||||
ctx.lineTo(1000 + pcx, pcy + 1900)
|
||||
ctx.moveTo(100, 200)
|
||||
ctx.lineTo(1148, 200)
|
||||
|
||||
ctx.stroke()
|
||||
let posy = 1100
|
||||
let posy = 300
|
||||
const indexList = this.musicMx[page]
|
||||
core.setTextAlign(ctx, "left");
|
||||
for (let i = 0; i < indexList.length; i++) {
|
||||
@ -14749,7 +14791,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
core.fillBoldText1(
|
||||
ctx,
|
||||
text,
|
||||
100 + pcx, pcy +
|
||||
150,
|
||||
posy - 30,
|
||||
page === this.selection[0] && i === this.selection[1] ? "#FFFFFF" : "#444444",
|
||||
"#000000",
|
||||
@ -14759,18 +14801,23 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
ctx.strokeStyle = "#FFFFFF"
|
||||
ctx.lineWidth = 3
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(100 + pcx, pcy + posy)
|
||||
ctx.lineTo(900 + pcx, pcy + posy)
|
||||
ctx.moveTo(100, posy)
|
||||
ctx.lineTo(1148, posy)
|
||||
ctx.stroke()
|
||||
posy += 100
|
||||
}
|
||||
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(100, 1210)
|
||||
ctx.lineTo(1148, 1210)
|
||||
ctx.moveTo(100, 1200)
|
||||
ctx.lineTo(1148, 1200)
|
||||
ctx.stroke()
|
||||
|
||||
core.fillBoldText1(
|
||||
ctx,
|
||||
'上一页',
|
||||
100,
|
||||
1000,
|
||||
1300,
|
||||
page === 0 ? "#444444" : "#FFFFFF",
|
||||
"#000000",
|
||||
6,
|
||||
@ -14780,8 +14827,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
core.fillBoldText1(
|
||||
ctx,
|
||||
(page + 1) + "/" + this.musicMx.length,
|
||||
450,
|
||||
1000,
|
||||
580,
|
||||
1300,
|
||||
"#FFFFFF",
|
||||
"#000000",
|
||||
6,
|
||||
@ -14790,106 +14837,105 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
core.fillBoldText1(
|
||||
ctx,
|
||||
'下一页',
|
||||
700,
|
||||
1000,
|
||||
950,
|
||||
1300,
|
||||
page === this.musicMx.length - 1 ? "#444444" : "#FFFFFF",
|
||||
"#000000",
|
||||
6,
|
||||
core.ui._buildFont(66, true)
|
||||
);
|
||||
|
||||
pcx = 200
|
||||
pcy = 1000
|
||||
|
||||
ctx.strokeStyle = "#ffffff"
|
||||
ctx.lineWidth = 3
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(-100 + pcx, pcy + 600)
|
||||
ctx.lineTo(900 + pcx, pcy + 600)
|
||||
ctx.moveTo(100, 1600)
|
||||
ctx.lineTo(1148, 1600)
|
||||
ctx.stroke()
|
||||
ctx.fillStyle = "#ffffff"
|
||||
ctx.font = "bold 96px Verdana"
|
||||
ctx.fillText('|', 100 + pcx, pcy + 797)
|
||||
ctx.fillText('◀', 115 + pcx, pcy + 800)
|
||||
ctx.fillText('|', 100, 1797)
|
||||
ctx.fillText('◀', 115, 1800)
|
||||
ctx.beginPath()
|
||||
ctx.arc(355 + pcx, pcy + 770, 80, 0, 3 * Math.PI)
|
||||
ctx.arc(505, 1770, 80, 0, 3 * Math.PI)
|
||||
ctx.stroke()
|
||||
ctx.fillText('|', 555 + pcx, pcy + 797)
|
||||
ctx.fillText('▶', 505 + pcx, pcy + 800)
|
||||
if (this.stop) { ctx.fillText('▶', 323 + pcx, pcy + 797) } else { ctx.fillText('||', 303 + pcx, pcy + 794) }
|
||||
ctx.fillText('|', 835, 1797)
|
||||
ctx.fillText('▶', 785, 1800)
|
||||
if (this.stop) { ctx.fillText('▶', 473, 1797) } else { ctx.fillText('||', 453, 1794) }
|
||||
|
||||
const img = core.material.images.images[this.type + '.webp']
|
||||
if (img) ctx.drawImage(img, 600 + pcx, pcy + 655, 200, 200)
|
||||
if (img) ctx.drawImage(img, 1000, 1655, 200, 200)
|
||||
core.setTextAlign(ctx, "center");
|
||||
ctx.font = "bold 52px Verdana"
|
||||
ctx.fillText('当前歌曲', 400 + pcx, pcy + 297)
|
||||
ctx.fillText(this.musicname[this.musicMx[this.selection[0]][this.selection[1]]], 400 + pcx, pcy + 457)
|
||||
ctx.fillText('当前歌曲', 625, 1397)
|
||||
ctx.fillText(this.musicname[this.musicMx[this.selection[0]][this.selection[1]]], 625, 1507)
|
||||
|
||||
ctx.font = "bold 36px Verdana"
|
||||
const thistime = audio.currentTime
|
||||
|
||||
if (thistime) {
|
||||
const timetext = (Math.floor(thistime / 60).toString()).padStart(2, '0') + ':' + Math.floor(thistime % 60).toString().padStart(2, '0')
|
||||
ctx.fillText(timetext, 810 + pcx, pcy + 650)
|
||||
ctx.fillText(timetext, 960, 1650)
|
||||
} else {
|
||||
const timetext = "00:00"
|
||||
ctx.fillText(timetext, 810 + pcx, pcy + 650)
|
||||
ctx.fillText(timetext, 960, 1650)
|
||||
}
|
||||
ctx.fillText("/", 880 + pcx, pcy + 650)
|
||||
ctx.fillText("/", 1030, 1650)
|
||||
const fulltime = audio.duration
|
||||
|
||||
if (fulltime) {
|
||||
const timetext = Math.floor(fulltime / 60).toString().padStart(2, '0') + ':' + Math.floor(fulltime % 60).toString().padStart(2, '0')
|
||||
ctx.fillText(timetext, 950 + pcx, pcy + 650)
|
||||
ctx.fillText(timetext, 1100, 1650)
|
||||
} else {
|
||||
const timetext = "00:00"
|
||||
ctx.fillText(timetext, 950 + pcx, pcy + 650)
|
||||
ctx.fillText(timetext, 1100, 1650)
|
||||
}
|
||||
ctx.strokeStyle = "#ffffff"
|
||||
ctx.lineWidth = 9
|
||||
ctx.fillStyle = 'rgba(255,255,255,0.5)'
|
||||
const pointx = 1000 * thistime / fulltime - 100
|
||||
const pointx = 1048 * thistime / fulltime + 100
|
||||
if (fulltime && thistime) {
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(-100 + pcx, pcy + 600)
|
||||
ctx.lineTo(pointx + pcx, pcy + 600)
|
||||
ctx.moveTo(100, 1600)
|
||||
ctx.lineTo(pointx, 1600)
|
||||
ctx.stroke()
|
||||
ctx.beginPath()
|
||||
ctx.arc(pointx + pcx, pcy + 600, 10, 0, 2 * Math.PI)
|
||||
ctx.arc(pointx, 1600, 10, 0, 2 * Math.PI)
|
||||
ctx.fill()
|
||||
} else {
|
||||
ctx.beginPath()
|
||||
ctx.arc(-100 + pcx, pcy + 600, 10, 0, 2 * Math.PI)
|
||||
ctx.arc(100, 1600, 10, 0, 2 * Math.PI)
|
||||
ctx.fill()
|
||||
}
|
||||
|
||||
pcx = 250
|
||||
pcy = 0
|
||||
ctx.fillText('音', 850 + pcx, pcy + 425)
|
||||
ctx.fillText('量', 850 + pcx, pcy + 510)
|
||||
ctx.fillStyle = "#ffffff"
|
||||
ctx.font = "bold 48px Verdana"
|
||||
ctx.fillText('音量', 150, 1970)
|
||||
ctx.lineWidth = 3
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(900 + pcx, pcy + 200)
|
||||
ctx.lineTo(900 + pcx, pcy + 700)
|
||||
ctx.moveTo(250, 1950)
|
||||
ctx.lineTo(1050, 1950)
|
||||
ctx.stroke()
|
||||
ctx.strokeStyle = "#ffffff"
|
||||
ctx.lineWidth = 9
|
||||
ctx.fillStyle = 'rgba(255,255,255,0.5)'
|
||||
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(900 + pcx, pcy + 700)
|
||||
ctx.lineTo(900 + pcx, pcy - 500 * audio.volume + 700)
|
||||
ctx.moveTo(250, 1950)
|
||||
ctx.lineTo(800 * audio.volume + 250, 1950)
|
||||
ctx.stroke()
|
||||
ctx.beginPath()
|
||||
ctx.arc(900 + pcx, pcy - 500 * audio.volume + 700, 10, 0, 2 * Math.PI)
|
||||
ctx.arc(800 * audio.volume + 250, 1950, 10, 0, 2 * Math.PI)
|
||||
ctx.fill()
|
||||
core.fillBoldText1(
|
||||
ctx,
|
||||
Math.floor(100 * audio.volume),
|
||||
915 + pcx,
|
||||
pcy + 200,
|
||||
1120,
|
||||
1970,
|
||||
"#FFFFFF",
|
||||
"#000000",
|
||||
6,
|
||||
core.ui._buildFont(32, true)
|
||||
core.ui._buildFont(48, true)
|
||||
);
|
||||
|
||||
} else {
|
||||
@ -15070,7 +15116,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
main.core.control.checkBgm();
|
||||
main.core.control.pauseBgm();
|
||||
audio.src = "project/bgms/" + main.core.ui.music.musicMx[main.core.ui.music.selection[0]][main.core.ui.music.selection[1]]
|
||||
|
||||
const arr = main.core.ui.music.musicMx.flat(Infinity)
|
||||
main.core.ui.music.randomList = shuffle(arr)
|
||||
main.core.ui.music.random = main.core.ui.music.randomList.indexOf(main.core.ui.music.musicMx[main.core.ui.music.selection[0]][main.core.ui.music.selection[1]])
|
||||
page = 0;
|
||||
music.style.display = "block";
|
||||
core.registerAnimationFrame("music", null, () => { main.core.ui.music.update() })
|
||||
|
Loading…
Reference in New Issue
Block a user