danoniplus 37.2.0 → 37.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/danoni_main.css +2 -1
- package/js/danoni_main.js +58 -27
- package/package.json +1 -1
package/css/danoni_main.css
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
本体cssファイル
|
|
5
5
|
|
|
6
6
|
Created : 2018/10/08
|
|
7
|
-
Revised : 2024/
|
|
7
|
+
Revised : 2024/06/30 (v37.2.1)
|
|
8
8
|
|
|
9
9
|
https://github.com/cwtickle/danoniplus
|
|
10
10
|
------------------------------------------ */
|
|
@@ -869,5 +869,6 @@ input[type="color"] {
|
|
|
869
869
|
.result_Cleared,
|
|
870
870
|
.result_Failed {
|
|
871
871
|
background-clip: text;
|
|
872
|
+
-webkit-background-clip: text;
|
|
872
873
|
color: rgba(255, 255, 255, 0.0);
|
|
873
874
|
}
|
package/js/danoni_main.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Source by tickle
|
|
6
6
|
* Created : 2018/10/08
|
|
7
|
-
* Revised : 2024/06/
|
|
7
|
+
* Revised : 2024/06/30
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 37.
|
|
12
|
-
const g_revisedDate = `2024/06
|
|
11
|
+
const g_version = `Ver 37.3.0`;
|
|
12
|
+
const g_revisedDate = `2024/07/06`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -1147,6 +1147,8 @@ const createColorObject2 = (_id,
|
|
|
1147
1147
|
|
|
1148
1148
|
style.maskImage = `url("${g_imgObj[charaStyle]}")`;
|
|
1149
1149
|
style.maskSize = `contain`;
|
|
1150
|
+
style.webkitMaskImage = `url("${g_imgObj[charaStyle]}")`;
|
|
1151
|
+
style.webkitMaskSize = `contain`;
|
|
1150
1152
|
Object.keys(rest).forEach(property => style[property] = rest[property]);
|
|
1151
1153
|
setAttrs(div, { color: rest.background ?? ``, type: charaStyle, cnt: 0, });
|
|
1152
1154
|
|
|
@@ -4163,6 +4165,7 @@ const titleInit = _ => {
|
|
|
4163
4165
|
font-family:${g_headerObj.titlefonts[0]};
|
|
4164
4166
|
background: ${titlegrds[0]};
|
|
4165
4167
|
background-clip: text;
|
|
4168
|
+
-webkit-background-clip: text;
|
|
4166
4169
|
color: rgba(255,255,255,0.0);
|
|
4167
4170
|
${txtAnimations[0]}
|
|
4168
4171
|
" class="${g_headerObj.titleAnimationClass[0]}">
|
|
@@ -4175,6 +4178,7 @@ const titleInit = _ => {
|
|
|
4175
4178
|
font-family:${g_headerObj.titlefonts[1]};
|
|
4176
4179
|
background: ${titlegrds[1]};
|
|
4177
4180
|
background-clip: text;
|
|
4181
|
+
-webkit-background-clip: text;
|
|
4178
4182
|
color: rgba(255,255,255,0.0);
|
|
4179
4183
|
${txtAnimations[1]}
|
|
4180
4184
|
" class="${g_headerObj.titleAnimationClass[1]}">
|
|
@@ -8459,9 +8463,24 @@ const pushArrows = (_dataObj, _speedOnFrame, _motionOnFrame, _firstArrivalFrame)
|
|
|
8459
8463
|
/** Motionの適用フレーム数 */
|
|
8460
8464
|
g_workObj.motionFrame = [];
|
|
8461
8465
|
|
|
8462
|
-
const setNotes = (_j, _k, _data, _startPoint, _header, _frzFlg = false) => {
|
|
8466
|
+
const setNotes = (_j, _k, _data, _startPoint, _header, _frzFlg = false, { initY, initBoostY, arrivalFrame, motionFrame } = {}) => {
|
|
8463
8467
|
if (_startPoint >= 0) {
|
|
8464
|
-
|
|
8468
|
+
const arrowAttrs = { pos: _j, initY, initBoostY, arrivalFrame, motionFrame };
|
|
8469
|
+
if (g_workObj[`mk${_header}Arrow`][_startPoint] === undefined) {
|
|
8470
|
+
g_workObj[`mk${_header}Arrow`][_startPoint] = [arrowAttrs];
|
|
8471
|
+
} else {
|
|
8472
|
+
let insertFlg = false;
|
|
8473
|
+
for (let m = 0; m < g_workObj[`mk${_header}Arrow`][_startPoint].length; m++) {
|
|
8474
|
+
if (arrowAttrs.arrivalFrame < g_workObj[`mk${_header}Arrow`][_startPoint][m].arrivalFrame) {
|
|
8475
|
+
g_workObj[`mk${_header}Arrow`][_startPoint].splice(m, 0, arrowAttrs);
|
|
8476
|
+
insertFlg = true;
|
|
8477
|
+
break;
|
|
8478
|
+
}
|
|
8479
|
+
}
|
|
8480
|
+
if (!insertFlg) {
|
|
8481
|
+
g_workObj[`mk${_header}Arrow`][_startPoint].push(arrowAttrs);
|
|
8482
|
+
}
|
|
8483
|
+
}
|
|
8465
8484
|
if (_frzFlg) {
|
|
8466
8485
|
g_workObj[`mk${_header}Length`][_j][_k] = getFrzLength(_speedOnFrame, _data[_k], _data[_k + 1]);
|
|
8467
8486
|
}
|
|
@@ -8498,7 +8517,8 @@ const pushArrows = (_dataObj, _speedOnFrame, _motionOnFrame, _firstArrivalFrame)
|
|
|
8498
8517
|
if (_frzFlg) {
|
|
8499
8518
|
g_workObj[`mk${camelHeader}Length`][_j] = [];
|
|
8500
8519
|
}
|
|
8501
|
-
setNotes(_j, lastk, _data, startPoint[lastk], camelHeader, _frzFlg
|
|
8520
|
+
setNotes(_j, lastk, _data, startPoint[lastk], camelHeader, _frzFlg,
|
|
8521
|
+
{ initY: tmpObj.startY, initBoostY: g_workObj.initBoostY[frmPrev], arrivalFrame: tmpObj.arrivalFrm, motionFrame: tmpObj.motionFrm });
|
|
8502
8522
|
|
|
8503
8523
|
// 矢印は1つずつ、フリーズアローは2つで1セット
|
|
8504
8524
|
for (let k = lastk - setcnt; k >= 0; k -= setcnt) {
|
|
@@ -8542,7 +8562,9 @@ const pushArrows = (_dataObj, _speedOnFrame, _motionOnFrame, _firstArrivalFrame)
|
|
|
8542
8562
|
}
|
|
8543
8563
|
|
|
8544
8564
|
// 出現タイミングを保存
|
|
8545
|
-
setNotes(_j, k, _data, startPoint[k], camelHeader, _frzFlg
|
|
8565
|
+
setNotes(_j, k, _data, startPoint[k], camelHeader, _frzFlg,
|
|
8566
|
+
{ initY: tmpObj.startY, initBoostY: g_workObj.initBoostY[frmPrev], arrivalFrame: tmpObj.arrivalFrm, motionFrame: tmpObj.motionFrm }
|
|
8567
|
+
);
|
|
8546
8568
|
}
|
|
8547
8569
|
};
|
|
8548
8570
|
|
|
@@ -8990,6 +9012,11 @@ const getArrowSettings = _ => {
|
|
|
8990
9012
|
g_keyCopyLists.simpleDef.forEach(header => updateKeyInfo(header, keyCtrlPtn));
|
|
8991
9013
|
g_headerObj.tuning = g_headerObj.creatorNames[g_stateObj.scoreId];
|
|
8992
9014
|
|
|
9015
|
+
delete g_workObj.initY;
|
|
9016
|
+
delete g_workObj.initBoostY;
|
|
9017
|
+
delete g_workObj.arrivalFrame;
|
|
9018
|
+
delete g_workObj.motionFrame;
|
|
9019
|
+
|
|
8993
9020
|
g_workObj.stepX = [];
|
|
8994
9021
|
g_workObj.scrollDir = [];
|
|
8995
9022
|
g_workObj.scrollDirDefault = [];
|
|
@@ -9998,27 +10025,30 @@ const mainInit = _ => {
|
|
|
9998
10025
|
|
|
9999
10026
|
/**
|
|
10000
10027
|
* 矢印生成
|
|
10001
|
-
* @param {number}
|
|
10028
|
+
* @param {number} _attrs 矢印個別の属性
|
|
10029
|
+
* (pos: 矢印種類, arrivalFrame: 到達フレーム数, initY: 初期表示位置,
|
|
10030
|
+
* initBoostY: Motion有効時の初期表示位置加算, motionFrame: アニメーション有効フレーム数)
|
|
10002
10031
|
* @param {number} _arrowCnt 現在の判定矢印順
|
|
10003
10032
|
* @param {string} _name 矢印名
|
|
10004
10033
|
* @param {string} _color 矢印色
|
|
10005
10034
|
* @param {string} _shadowColor 矢印塗りつぶし部分の色
|
|
10006
10035
|
*/
|
|
10007
|
-
const makeArrow = (
|
|
10036
|
+
const makeArrow = (_attrs, _arrowCnt, _name, _color, _shadowColor) => {
|
|
10037
|
+
const _j = _attrs.pos;
|
|
10008
10038
|
const dividePos = g_workObj.dividePos[_j];
|
|
10009
10039
|
const colorPos = g_keyObj[`color${keyCtrlPtn}`][_j];
|
|
10010
10040
|
|
|
10011
10041
|
const arrowName = `${_name}${_j}_${_arrowCnt}`;
|
|
10012
10042
|
const firstPosY = C_STEP_Y + g_posObj.reverseStepY * dividePos +
|
|
10013
|
-
(
|
|
10014
|
-
|
|
10043
|
+
(_attrs.initY * g_workObj.boostSpd +
|
|
10044
|
+
_attrs.initBoostY * g_workObj.boostDir) * g_workObj.scrollDir[_j];
|
|
10015
10045
|
|
|
10016
10046
|
const stepRoot = createEmptySprite(arrowSprite[dividePos], arrowName, {
|
|
10017
10047
|
x: g_workObj.stepX[_j], y: firstPosY, w: C_ARW_WIDTH, h: C_ARW_WIDTH,
|
|
10018
10048
|
});
|
|
10019
10049
|
g_attrObj[arrowName] = {
|
|
10020
|
-
cnt:
|
|
10021
|
-
boostCnt:
|
|
10050
|
+
cnt: _attrs.arrivalFrame + 1,
|
|
10051
|
+
boostCnt: _attrs.motionFrame,
|
|
10022
10052
|
boostSpd: g_workObj.boostSpd, dividePos: dividePos,
|
|
10023
10053
|
dir: g_workObj.scrollDir[_j], boostDir: g_workObj.boostDir,
|
|
10024
10054
|
prevY: firstPosY, y: firstPosY,
|
|
@@ -10028,7 +10058,7 @@ const mainInit = _ => {
|
|
|
10028
10058
|
|
|
10029
10059
|
if (g_workObj[`${_name}CssMotions`][_j] !== ``) {
|
|
10030
10060
|
stepRoot.classList.add(g_workObj[`${_name}CssMotions`][_j]);
|
|
10031
|
-
stepRoot.style.animationDuration = `${
|
|
10061
|
+
stepRoot.style.animationDuration = `${_attrs.arrivalFrame / g_fps}s`;
|
|
10032
10062
|
}
|
|
10033
10063
|
|
|
10034
10064
|
// 内側塗りつぶし矢印は、下記の順で作成する。
|
|
@@ -10080,28 +10110,29 @@ const mainInit = _ => {
|
|
|
10080
10110
|
|
|
10081
10111
|
/**
|
|
10082
10112
|
* フリーズアロー生成
|
|
10083
|
-
* @param {number}
|
|
10113
|
+
* @param {number} _attrs
|
|
10084
10114
|
* @param {number} _arrowCnt
|
|
10085
10115
|
* @param {string} _name
|
|
10086
10116
|
* @param {string} _normalColor
|
|
10087
10117
|
* @param {string} _barColor
|
|
10088
10118
|
* @param {string} _shadowColor
|
|
10089
10119
|
*/
|
|
10090
|
-
const makeFrzArrow = (
|
|
10120
|
+
const makeFrzArrow = (_attrs, _arrowCnt, _name, _normalColor, _barColor, _shadowColor) => {
|
|
10121
|
+
const _j = _attrs.pos;
|
|
10091
10122
|
const dividePos = g_workObj.dividePos[_j];
|
|
10092
10123
|
const frzNo = `${_j}_${_arrowCnt}`;
|
|
10093
10124
|
const frzName = `${_name}${frzNo}`;
|
|
10094
10125
|
const firstPosY = C_STEP_Y + g_posObj.reverseStepY * dividePos +
|
|
10095
|
-
(
|
|
10096
|
-
|
|
10126
|
+
(_attrs.initY * g_workObj.boostSpd +
|
|
10127
|
+
_attrs.initBoostY * g_workObj.boostDir) * g_workObj.scrollDir[_j];
|
|
10097
10128
|
const firstBarLength = g_workObj[`mk${toCapitalize(_name)}Length`][_j][(_arrowCnt - 1) * 2] * g_workObj.boostSpd;
|
|
10098
10129
|
|
|
10099
10130
|
const frzRoot = createEmptySprite(arrowSprite[dividePos], frzName, {
|
|
10100
10131
|
x: g_workObj.stepX[_j], y: firstPosY, w: C_ARW_WIDTH, h: C_ARW_WIDTH + firstBarLength,
|
|
10101
10132
|
});
|
|
10102
10133
|
g_attrObj[frzName] = {
|
|
10103
|
-
cnt:
|
|
10104
|
-
boostCnt:
|
|
10134
|
+
cnt: _attrs.arrivalFrame + 1,
|
|
10135
|
+
boostCnt: _attrs.motionFrame,
|
|
10105
10136
|
judgEndFlg: false, isMoving: true, frzBarLength: firstBarLength, keyUpFrame: 0,
|
|
10106
10137
|
boostSpd: g_workObj.boostSpd, dividePos: dividePos, dir: g_workObj.scrollDir[_j], boostDir: g_workObj.boostDir,
|
|
10107
10138
|
y: firstPosY, barY: C_ARW_WIDTH / 2 - firstBarLength * dividePos, btmY: firstBarLength * g_workObj.scrollDir[_j],
|
|
@@ -10111,7 +10142,7 @@ const mainInit = _ => {
|
|
|
10111
10142
|
|
|
10112
10143
|
if (g_workObj[`${_name}CssMotions`][_j] !== ``) {
|
|
10113
10144
|
frzRoot.classList.add(g_workObj[`${_name}CssMotions`][_j]);
|
|
10114
|
-
frzRoot.style.animationDuration = `${
|
|
10145
|
+
frzRoot.style.animationDuration = `${_attrs.arrivalFrame / g_fps}s`;
|
|
10115
10146
|
}
|
|
10116
10147
|
let shadowColor = _shadowColor === `Default` ? _normalColor : _shadowColor;
|
|
10117
10148
|
|
|
@@ -10308,21 +10339,21 @@ const mainInit = _ => {
|
|
|
10308
10339
|
|
|
10309
10340
|
// ダミー矢印生成(背面に表示するため先に処理)
|
|
10310
10341
|
g_workObj.mkDummyArrow[currentFrame]?.forEach(data =>
|
|
10311
|
-
makeArrow(data, ++dummyArrowCnts[data], `dummyArrow`, g_workObj.dummyArrowColors[data], g_workObj.dummyArrowShadowColors[data]));
|
|
10342
|
+
makeArrow(data, ++dummyArrowCnts[data.pos], `dummyArrow`, g_workObj.dummyArrowColors[data.pos], g_workObj.dummyArrowShadowColors[data.pos]));
|
|
10312
10343
|
|
|
10313
10344
|
// 矢印生成
|
|
10314
10345
|
g_workObj.mkArrow[currentFrame]?.forEach(data =>
|
|
10315
|
-
makeArrow(data, ++arrowCnts[data], `arrow`, g_workObj.arrowColors[data], g_workObj.arrowShadowColors[data]));
|
|
10346
|
+
makeArrow(data, ++arrowCnts[data.pos], `arrow`, g_workObj.arrowColors[data.pos], g_workObj.arrowShadowColors[data.pos]));
|
|
10316
10347
|
|
|
10317
10348
|
// ダミーフリーズアロー生成
|
|
10318
10349
|
g_workObj.mkDummyFrzArrow[currentFrame]?.forEach(data =>
|
|
10319
|
-
makeFrzArrow(data, ++dummyFrzCnts[data], `dummyFrz`, g_workObj.dummyFrzNormalColors[data],
|
|
10320
|
-
g_workObj.dummyFrzNormalBarColors[data], g_workObj.dummyFrzNormalShadowColors[data]));
|
|
10350
|
+
makeFrzArrow(data, ++dummyFrzCnts[data.pos], `dummyFrz`, g_workObj.dummyFrzNormalColors[data.pos],
|
|
10351
|
+
g_workObj.dummyFrzNormalBarColors[data.pos], g_workObj.dummyFrzNormalShadowColors[data.pos]));
|
|
10321
10352
|
|
|
10322
10353
|
// フリーズアロー生成
|
|
10323
10354
|
g_workObj.mkFrzArrow[currentFrame]?.forEach(data =>
|
|
10324
|
-
makeFrzArrow(data, ++frzCnts[data], `frz`, g_workObj.frzNormalColors[data],
|
|
10325
|
-
g_workObj.frzNormalBarColors[data], g_workObj.frzNormalShadowColors[data]));
|
|
10355
|
+
makeFrzArrow(data, ++frzCnts[data.pos], `frz`, g_workObj.frzNormalColors[data.pos],
|
|
10356
|
+
g_workObj.frzNormalBarColors[data.pos], g_workObj.frzNormalShadowColors[data.pos]));
|
|
10326
10357
|
|
|
10327
10358
|
// 矢印・フリーズアロー移動&消去
|
|
10328
10359
|
for (let j = 0; j < keyNum; j++) {
|