@@ -3,13 +3,13 @@ let lyricDiv;
3
3
let currentLyric = '' ;
4
4
let lyrics =
5
5
[
6
- {
7
- "text" : " " ,
8
- "beats" : 24
9
- } ,
6
+ // {
7
+ // "text": " ",
8
+ // "beats": 24
9
+ // },
10
10
{
11
11
"text" : "黒塗り<br>世界宛て<br>書簡" ,
12
- "beats" : 32
12
+ "beats" : 56
13
13
} ,
14
14
{
15
15
"text" : "██████" ,
@@ -24,7 +24,7 @@ let lyrics =
24
24
"beats" : 16
25
25
} ,
26
26
{
27
- "text" : "そしてクオリアを<br>持った████<br>として蘇り" ,
27
+ "text" : "そしてクオリアを<br>持った████<br>として蘇り" , //8+8
28
28
"beats" : 16
29
29
} ,
30
30
{
@@ -56,12 +56,8 @@ let lyrics =
56
56
"beats" : 2
57
57
} ,
58
58
{
59
- "text" : "█後2週間" ,
60
- "beats" : 4
61
- } ,
62
- {
63
- "text" : "█後2週間<br>███かけた<br>身体が目を覚まし" ,
64
- "beats" : 12
59
+ "text" : "█後2週間<br>███かけた<br>身体が目を覚まし" , //4+10
60
+ "beats" : 14 ,
65
61
} ,
66
62
{
67
63
"text" : "液化したピアノと<br>夜を<br>明かす" ,
@@ -80,31 +76,31 @@ let lyrics =
80
76
"beats" : 16
81
77
} ,
82
78
{
83
- "text" : "█ぬも█むも<br>██いも<br>█くも愛す" ,
79
+ "text" : "█ぬも█むも<br>██いも<br>█くも愛す" , //每个都间隔2拍
84
80
"beats" : 8
85
81
} ,
86
82
{
87
- "text" : "█かれた<br>█違いの<br>██の詩" ,
83
+ "text" : "█かれた<br>█違いの<br>██の詩" , //每个都间隔2拍
88
84
"beats" : 8
89
85
} ,
90
86
{
91
- "text" : "██に<br>█き██され<br>█った言葉を" ,
87
+ "text" : "██に<br>█き██され<br>█った言葉を" , //每个都间隔2拍
92
88
"beats" : 8
93
89
} ,
94
90
{
95
- "text" : "██った<br>█れ者が<br>██してく" ,
91
+ "text" : "██った<br>█れ者が<br>██してく" , //每个都间隔2拍
96
92
"beats" : 8
97
93
} ,
98
94
{
99
- "text" : "██以外<br>█んで██った<br>██溜めで" ,
95
+ "text" : "██以外<br>█んで██った<br>██溜めで" , //每个都间隔2拍
100
96
"beats" : 8
101
97
} ,
102
98
{
103
- "text" : "██も██も<br>██も<br>伝えられなきゃ" ,
99
+ "text" : "██も██も<br>██も<br>伝えられなきゃ" , //每个都间隔2拍
104
100
"beats" : 8
105
101
} ,
106
102
{
107
- "text" : "█んでも<br>█んでも<br>██きれないから" ,
103
+ "text" : "█んでも<br>█んでも<br>██きれないから" , //每个都间隔2拍
108
104
"beats" : 8
109
105
} ,
110
106
{
@@ -129,6 +125,8 @@ let bpm = 185;
129
125
let beatDuration = 60 / bpm ;
130
126
let totalBeatsElapsed = 0 ;
131
127
128
+ let overlayRemoved = false ; // 避免多次移除遮罩
129
+
132
130
function setup ( ) {
133
131
audioEl = createAudio ( 'https://raw.githubusercontent.com/n3xta/image-hosting/main/audio/letter_to_the_black_world.mp3' ) ;
134
132
audioEl . showControls ( ) ;
@@ -150,6 +148,12 @@ function updateLyrics() {
150
148
let currentTime = audioEl . time ( ) ;
151
149
let totalBeats = Math . floor ( currentTime / beatDuration ) ;
152
150
151
+ if ( totalBeats >= 23 && ! overlayRemoved ) { //考虑这边改一下时机
152
+ const overlay = document . getElementById ( 'black-overlay' ) ;
153
+ overlay . remove ( ) ;
154
+ overlayRemoved = true ;
155
+ }
156
+
153
157
let accumulatedBeats = 0 ;
154
158
for ( let i = 0 ; i < lyrics . length ; i ++ ) {
155
159
accumulatedBeats += lyrics [ i ] . beats ;
@@ -160,7 +164,6 @@ function updateLyrics() {
160
164
}
161
165
}
162
166
163
-
164
167
// function showLyric(lyric) {
165
168
// if (lyric !== currentLyric) {
166
169
// currentLyric = lyric;
0 commit comments