1
0
Fork 0
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:
mat 2024-04-13 22:12:56 +00:00
parent 735ef72a16
commit 5b37469384
4 changed files with 35 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View file

@ -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')

Binary file not shown.

Binary file not shown.