马黑黑 发表于 2022-12-27 16:41

大漠西风

<style>
#papa { margin: 0 0 0 calc(50% - 593px); width: 1024px; height: 640px; background: darkgray url('https://638183.freep.cn/638183/t22/webp/dmxf1.webp') no-repeat center/cover; box-shadow: 4px 8px 16px #000; display: grid; place-items: center; perspective: 1000px; opacity: .95; position: relative; z-index: 1; }
#papa::before { position: absolute;content: ''; bottom: 60px; width: 120px; height: 140px; background: url('https://638183.freep.cn/638183/t22/51/9.jpg') no-repeat center/cover; border-radius: 50%; transform-style: preserve-3d; transform: rotateY(15deg) rotateZ(-10deg); pointer-events: none; box-shadow: 2px 4px 8px #222; }
</style>

<div id="papa"></div>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=1394994873.mp3" autoplay loop></audio>

<script >
(function() {
        (function(mkPlayer) {let defaults = {lrcAr: [ ],lrc_css: 'top: 15px; left: 50%; transform: translate(-50%)',player_css: 'bottom: 5px; left: 50%; transform: translate(-50%)',angle: -90,playerCode: `<style>#mplayer {--ww: 300px;--hh:100px;--state: paused;position: absolute;width: var(--ww);height: var(--hh);transform-style: preserve-3d;cursor: pointer;z-index: 899;}#mplayer::before { position: absolute; content: ''; left: -20px; right: -20px; top: 0; bottom: -35px; }.mline {position: absolute;width: 6px;height: 10px;bottom: 0;left: calc(50% - 4px);border-radius: 10px;transition: all .35s;opacity: .95;}.mline::before {position: absolute;content: '';width: 10px;height: 10px;left: calc(50% - 5px);background: var(--psecolor);border-radius: 50%;transition: all var(--ts);animation: up 1s infinite;animation-play-state: var(--state);}#btnMsg {position: absolute;color: snow;background: green;opacity: 0;border: 2px solid snow;border-radius: 8px;padding: 4px;transition: all .75s;cursor: pointer;z-index: 1001;}#lrc {--motion: cover2;--tt: 1s;--state: running;--bg: linear-gradient(180deg,hsla(100,10%,50%,.75),hsla(100,100%,20%,.65));position: absolute;font: bold 2.4em sans-serif;color: hsl(100, 100%, 90%);white-space: pre;-webkit-background-clip: text;filter: drop-shadow(1px 1px 2px hsla(0, 100%, 0%, .85));z-index: 900;}#lrc::before {position: absolute;content: attr(data-lrc);width: 20%;height: 100%;color: transparent;overflow: hidden;white-space: pre;background: var(--bg);filter: inherit;-webkit-background-clip: text;animation: var(--motion) var(--tt) linear forwards;animation-play-state: var(--state);}@keyframes cover1 { from { width: 0; }to { width: 100%; } }@keyframes cover2 { from { width: 0; } to { width: 100%; } }@keyframes up { to { top: -20px; } }</style><div id="lrc" data-lrc="HCPlayer">HCPlayer</div><div id="mplayer"></div><span id="btnMsg">全屏观赏</span>`,};let playCode = (user_config) => {let data = Object.assign({}, defaults, user_config);papa.innerHTML += data.playerCode;mplayer.style.cssText += data.player_css;lrc.style.cssText += data.lrc_css;let mKey = 0, mFlag = true, fs = false, timerId;let total = Math.floor(mplayer.offsetWidth / 8), mRad = Math.floor(mplayer.offsetWidth / 2), tnow = Date.now();mplayer.onclick = (e) => aud.paused ? aud.play() : aud.pause();btnMsg.onclick = () => fs ? document.exitFullscreen() : papa.requestFullscreen();papa.onmousemove = (e) => {clearTimeout(timerId);btnMsg.style.opacity = '.95';timerId = setTimeout('btnMsg.style.opacity = "0"', 3000);};for (j = 0; j < total; j++) {let ele = document.createElement('span');ele.className = 'mline';ele.style.cssText += `background: linear-gradient(to bottom, #${Math.random().toString(16).substr(-6)}, #${Math.random().toString(16).substr(-6)});transform: rotateY(${j*180/total + data.angle}deg) translateZ(${mRad}px);--psecolor: linear-gradient(135deg, #${Math.random().toString(16).substr(-6)}, #${Math.random().toString(16).substr(-6)});--ts: ${Math.random()}s;`;mplayer.appendChild(ele);}let lines = document.querySelectorAll('.mline');let update = () => {if (Date.now() - tnow > 65) {lines.forEach((item, key) => {let ph = aud.paused ? 0 : mplayer.offsetHeight;item.style.height = Math.random() * ph + 'px';});tnow = Date.now();}requestAnimationFrame(update);};update();aud.addEventListener('timeupdate', () => {for (j = 0; j < data.lrcAr.length; j++) {if (aud.currentTime >= data.lrcAr) {if (mKey === j) showLrc(data.lrcAr);else continue;}}});aud.addEventListener('pause', () => mState());aud.addEventListener('play', () => mState());aud.addEventListener('seeked', () => calcKey());document.addEventListener("fullscreenchange", () => {if (document.fullscreenElement !== null) {fs = true;btnMsg.innerText = '退出全屏';} else {fs = false;btnMsg.innerText = '全屏观赏';}});let mState = () => aud.paused ? (lrc.style.setProperty('--state', 'paused'), mplayer.style.setProperty('--state', 'paused')) : (lrc.style.setProperty('--state', 'running'), mplayer.style.setProperty('--state', 'running'));let showLrc = (time) => {let name = mFlag ? 'cover1' : 'cover2';lrc.innerHTML = data.lrcAr;lrc.dataset.lrc = data.lrcAr.replace(/<br>/, '\n');lrc.style.setProperty('--motion', name);lrc.style.setProperty('--tt', time + 's');lrc.style.setProperty('--state', 'running');mKey += 1;mFlag = !mFlag;};let calcKey = () => {for (j = 0; j < data.lrcAr.length; j++) {if (aud.currentTime <= data.lrcAr) {mKey = j - 1;break;}}if (mKey < 0) mKey = 0;if (mKey > data.lrcAr.length - 1) mKey = data.lrcAr.length - 1;let time = data.lrcAr - (aud.currentTime - data.lrcAr);showLrc(time);};};mkPlayer.HCPlayer = playCode;})(this);
        let lrcAr = [,        ];
        HCPlayer({
                lrcAr: lrcAr,
                player_css: '--ww: 300px; --hh:100px; bottom: 90px;',
                lrc_css: '--bg: linear-gradient(180deg,hsla(0,100%,50%,.35),hsla(120,100%,50%,.65)); color: lightblue; top: 10px;',
        });
})();
</script>

梦油 发表于 2022-12-27 17:01

羊群好像是洒在草原上的珍珠,多么美的一幅画卷啊!

醉美水芙蓉 发表于 2022-12-27 17:46

马黑黑 发表于 2022-12-27 17:46

梦油 发表于 2022-12-27 17:01
羊群好像是洒在草原上的珍珠,多么美的一幅画卷啊!

图片确实很唯美

马黑黑 发表于 2022-12-27 17:46

醉美水芙蓉 发表于 2022-12-27 17:46
欣赏黑黑老师精彩制作!

半圆环频谱,还不错吧

亦是金 发表于 2022-12-27 18:20

半圆环频谱,赞!!!{:4_178:}

亦是金 发表于 2022-12-27 18:25

黑黑老师,频谱能做成纯跳动的彩球串吗?(不带长条尾巴){:4_191:}

马黑黑 发表于 2022-12-27 19:15

亦是金 发表于 2022-12-27 18:25
黑黑老师,频谱能做成纯跳动的彩球串吗?(不带长条尾巴)

球串的话,用HTML常规元素做消耗很大,用画布做可以。这要重新设计,个人觉得算法会比较复杂。

马黑黑 发表于 2022-12-27 19:17

亦是金 发表于 2022-12-27 18:20
半圆环频谱,赞!!!

它应该还可以转向,凹凸,左右,都可以,但要解决的问题是播放/暂停的点击区域,凹凸好办,左右频谱占位有所不同。

樵歌 发表于 2022-12-27 20:43

大漠西风,油彩涂抹。好一派秋意!

樵歌 发表于 2022-12-27 20:45

更有被阵法禅定的妖精{:4_189:}

马黑黑 发表于 2022-12-27 21:05

樵歌 发表于 2022-12-27 20:43
大漠西风,油彩涂抹。好一派秋意!

挺不错的吧

马黑黑 发表于 2022-12-27 21:07

樵歌 发表于 2022-12-27 20:45
更有被阵法禅定的妖精

这也看得出来{:5_117:}

红影 发表于 2022-12-27 22:12

半圆环,黑黑又带来新的效果{:4_187:}

红影 发表于 2022-12-27 22:12

那张小图,让自然风貌里带了人文气息,很赞{:4_187:}

马黑黑 发表于 2022-12-27 22:29

红影 发表于 2022-12-27 22:12
半圆环,黑黑又带来新的效果

圆切一般而已,不新

马黑黑 发表于 2022-12-27 22:29

红影 发表于 2022-12-27 22:12
那张小图,让自然风貌里带了人文气息,很赞

很配的吧

亦是金 发表于 2022-12-28 09:30

马黑黑 发表于 2022-12-27 19:15
球串的话,用HTML常规元素做消耗很大,用画布做可以。这要重新设计,个人觉得算法会比较复杂。

谢谢黑黑老师回复。我只是有这种想法,供你参考!{:4_191:}

马黑黑 发表于 2022-12-28 11:51

亦是金 发表于 2022-12-28 09:30
谢谢黑黑老师回复。我只是有这种想法,供你参考!

有时间再考虑

小辣椒 发表于 2022-12-28 13:03

漂亮{:4_199:}
页: [1] 2 3 4 5
查看完整版本: 大漠西风