-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
251 lines (225 loc) · 11 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Love Story</title>
<link type="text/css" rel="stylesheet" href="./index_files/default.css">
<script type="text/javascript" src="./index_files/jquery.min.js"></script>
<script type="text/javascript" src="./index_files/jscex.min.js"></script>
<script type="text/javascript" src="./index_files/jscex-parser.js"></script>
<script type="text/javascript" src="./index_files/jscex-jit.js"></script>
<script type="text/javascript" src="./index_files/jscex-builderbase.min.js"></script>
<script type="text/javascript" src="./index_files/jscex-async.min.js"></script>
<script type="text/javascript" src="./index_files/jscex-async-powerpack.min.js"></script>
<script type="text/javascript" src="./index_files/functions.js" charset="utf-8"></script>
<script type="text/javascript" src="./index_files/love.js" charset="utf-8"></script>
<style type="text/css">
<!--
.STYLE1 {
color: #666666
}
-->
</style>
</head>
<body>
<audio loop="loop" id="audios">
<source src="./index_files/告白气球.ogg" type="audio/ogg" />
<source src="./index_files/告白气球.mp3" type="audio/mpeg" />
</audio>
<div id="main">
<div id="error">本页面采用HTML5编辑,目前您的浏览器无法显示,请换成谷歌(<a
href="http://www.google.cn/chrome/intl/zh-CN/landing_chrome.html?hl=zh-CN&brand=CHMI">Chrome</a>)或者火狐(<a
href="http://firefox.com.cn/download/">Firefox</a>)浏览器,或者其他相同内核浏览器的最新版本。</div>
<div id="wrap">
<div id="text">
<div id="code">
<span class="say">* Our Story</span><br>
<span class="say"> </span><br>
<span class="say"> 我好像爱上你了
<span class="say"> </span><br>
<span class="say">// 有的人几年不敢表白,有的人却一刻也藏不住
<span class="say"> </span><br>
<span class="say">// 遇见你只用了一分钟,忘记你却需要一辈子
<span class="say"> </span><br>
<span class="say">// 才发现生活已离不开你,抑制不住地想
<span class="say"> </span><br>
<span class="say">// 我想在你开心时共同分享
<span class="say"> </span><br>
<span class="say">// 我想在你难过时陪伴身旁
<span class="say"> </span><br>
<span class="say">// 我想你,四季皆然
<span class="say"> </span><br>
<span class="say">// 我想和你徜徉在春日花海里,闻青山鸟语
<span class="say"> </span><br>
<span class="say">// 我想和你漫步在夏日细雨中,合着滴答的伴奏在你耳边私语,欣赏你微红的脸颊
<span class="say"> </span><br>
<span class="say">// 我想和你依偎在秋日落霞下,听林海涛声
<span class="say"> </span><br>
<span class="say">// 我想和你牵手走在冬日白雪上,无边无际,走着走着就白了头
<span class="say"> </span><br>
<span class="say">// 你的过去我来不及参与,你的未来我一定要携手走过
<span class="say"> </span><br>
<span class="say"><span class="space"></span> -- 宋云翔
--</span>
</div>
</div>
<div id="clock-box">
尚子君<span class="STYLE1">与</span>宋云翔<span class="STYLE1">的故事开始了</span>
<div id="clock"></div>
</div>
<canvas id="canvas" width="1100" height="680"></canvas>
</div>
</div>
<script>
</script>
<script>
(function () {
var canvas = $('#canvas');
if (!canvas[0].getContext) {
$("#error").show();
return false;
}
var width = canvas.width();
var height = canvas.height();
canvas.attr("width", width);
canvas.attr("height", height);
var opts = {
seed: {
x: width / 2 - 20,
color: "rgb(190, 26, 37)",
scale: 2
},
branch: [
[535, 680, 570, 250, 500, 200, 30, 100, [
[540, 500, 455, 417, 340, 400, 13, 100, [
[450, 435, 434, 430, 394, 395, 2, 40]
]],
[550, 445, 600, 356, 680, 345, 12, 100, [
[578, 400, 648, 409, 661, 426, 3, 80]
]],
[539, 281, 537, 248, 534, 217, 3, 40],
[546, 397, 413, 247, 328, 244, 9, 80, [
[427, 286, 383, 253, 371, 205, 2, 40],
[498, 345, 435, 315, 395, 330, 4, 60]
]],
[546, 357, 608, 252, 678, 221, 6, 100, [
[590, 293, 646, 277, 648, 271, 2, 80]
]]
]]
],
bloom: {
num: 700,
width: 1080,
height: 650,
},
footer: {
width: 1200,
height: 5,
speed: 10,
}
}
var tree = new Tree(canvas[0], width, height, opts);
var seed = tree.seed;
var foot = tree.footer;
var hold = 1;
canvas.click(function (e) {
var offset = canvas.offset(), x, y;
var music = document.getElementById("audios");//获取ID
x = e.pageX - offset.left;
y = e.pageY - offset.top;
if (seed.hover(x, y)) {
hold = 0;
canvas.unbind("click");
canvas.unbind("mousemove");
canvas.removeClass('hand');
console.log(music);
console.log(music.paused);
if (music.paused) { //判断是否播放
music.paused = false;
music.play(); //没有就播放
}
}
}).mousemove(function (e) {
var offset = canvas.offset(), x, y;
x = e.pageX - offset.left;
y = e.pageY - offset.top;
canvas.toggleClass('hand', seed.hover(x, y));
});
var seedAnimate = eval(Jscex.compile("async", function () {
seed.draw();
while (hold) {
$await(Jscex.Async.sleep(10));
}
while (seed.canScale()) {
seed.scale(0.95);
$await(Jscex.Async.sleep(10));
}
while (seed.canMove()) {
seed.move(0, 2);
foot.draw();
$await(Jscex.Async.sleep(10));
}
}));
var growAnimate = eval(Jscex.compile("async", function () {
do {
tree.grow();
$await(Jscex.Async.sleep(10));
} while (tree.canGrow());
}));
var flowAnimate = eval(Jscex.compile("async", function () {
do {
tree.flower(2);
$await(Jscex.Async.sleep(10));
} while (tree.canFlower());
}));
var moveAnimate = eval(Jscex.compile("async", function () {
tree.snapshot("p1", 240, 0, 610, 680);
while (tree.move("p1", 500, 0)) {
foot.draw();
$await(Jscex.Async.sleep(10));
}
foot.draw();
tree.snapshot("p2", 500, 0, 610, 680);
// 会有闪烁不得意这样做, (>﹏<)
canvas.parent().css("background", "url(" + tree.toDataURL('image/png') + ")");
canvas.css("background", "#ffe");
$await(Jscex.Async.sleep(300));
canvas.css("background", "none");
}));
var jumpAnimate = eval(Jscex.compile("async", function () {
var ctx = tree.ctx;
while (true) {
tree.ctx.clearRect(0, 0, width, height);
tree.jump();
foot.draw();
$await(Jscex.Async.sleep(25));
}
}));
var textAnimate = eval(Jscex.compile("async", function () {
var together = new Date();
together.setFullYear(2022, 07, 31); //时间年月日,月份为实际月份数减一
together.setHours(13); //小时
together.setMinutes(8); //分钟
together.setSeconds(0); //秒前一位
together.setMilliseconds(0); //秒第二位
$("#code").show().typewriter();
$("#clock-box").fadeIn(500);
while (true) {
timeElapse(together);
$await(Jscex.Async.sleep(1000));
}
}));
var runAsync = eval(Jscex.compile("async", function () {
$await(seedAnimate());
$await(growAnimate());
$await(flowAnimate());
$await(moveAnimate());
textAnimate().start();
$await(jumpAnimate());
}));
runAsync().start();
})();
</script>
</body>
</html>