mirror of
https://github.com/mat-1/matdoesdev.git
synced 2025-08-02 14:46:04 +00:00
add explosion and oneshot music to gravity easter egg
This commit is contained in:
parent
735ef72a16
commit
5b37469384
4 changed files with 35 additions and 1 deletions
BIN
src/lib/gravity/explosion.gif
Normal file
BIN
src/lib/gravity/explosion.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
|
@ -1,11 +1,45 @@
|
|||
import { browser } from '$app/environment'
|
||||
import Matter from 'matter-js'
|
||||
import music from './oneshot-my-burden-is-light.mp3'
|
||||
import explosionSFX from './nuclear-bomb-sound-effect.mp3'
|
||||
import explosionImage from './explosion.gif'
|
||||
|
||||
const GRAVITY_QUERY_SELECTOR = 'p, h1, h2, .button, .icon'
|
||||
|
||||
let started = false
|
||||
|
||||
export function initGravity(): () => void {
|
||||
const { Engine, Bodies, Composite, Runner, Mouse, MouseConstraint } = Matter
|
||||
|
||||
if (!started) {
|
||||
started = true
|
||||
|
||||
// play explosion gif
|
||||
const explosionEl = document.createElement('img')
|
||||
explosionEl.src = explosionImage
|
||||
explosionEl.style.position = 'fixed'
|
||||
explosionEl.style.left = '0'
|
||||
explosionEl.style.top = '0'
|
||||
explosionEl.style.width = '100%'
|
||||
explosionEl.style.height = '100%'
|
||||
explosionEl.style.zIndex = '1000000'
|
||||
document.body.appendChild(explosionEl)
|
||||
// remove after 1.7 seconds
|
||||
explosionEl.onload = () => {
|
||||
setTimeout(() => {
|
||||
document.body.removeChild(explosionEl)
|
||||
}, 1700)
|
||||
}
|
||||
|
||||
const explosionAudio = new Audio(explosionSFX)
|
||||
explosionAudio.volume = 0.5
|
||||
explosionAudio.play()
|
||||
|
||||
const musicAudio = new Audio(music)
|
||||
musicAudio.volume = 0.1
|
||||
musicAudio.loop = true
|
||||
musicAudio.play()
|
||||
}
|
||||
|
||||
console.log('gravity enabled')
|
||||
|
||||
const pageEl = document.getElementById('page')
|
BIN
src/lib/gravity/nuclear-bomb-sound-effect.mp3
Normal file
BIN
src/lib/gravity/nuclear-bomb-sound-effect.mp3
Normal file
Binary file not shown.
BIN
src/lib/gravity/oneshot-my-burden-is-light.mp3
Normal file
BIN
src/lib/gravity/oneshot-my-burden-is-light.mp3
Normal file
Binary file not shown.
Loading…
Add table
Reference in a new issue