feat: add damageflash
This commit is contained in:
26
index.html
26
index.html
@ -135,6 +135,23 @@
|
|||||||
transform: translateY(-2px);
|
transform: translateY(-2px);
|
||||||
box-shadow: 0 6px 20px rgba(255, 68, 68, 0.5);
|
box-shadow: 0 6px 20px rgba(255, 68, 68, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.damage-flash {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
background: rgba(255, 0, 0, 0.5);
|
||||||
|
pointer-events: none;
|
||||||
|
z-index: 500;
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.1s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.damage-flash.active {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@ -159,6 +176,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="damageFlash" class="damage-flash"></div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const canvas = document.getElementById('gameCanvas');
|
const canvas = document.getElementById('gameCanvas');
|
||||||
const ctx = canvas.getContext('2d');
|
const ctx = canvas.getContext('2d');
|
||||||
@ -1021,6 +1040,13 @@
|
|||||||
game.player.health -= 10;
|
game.player.health -= 10;
|
||||||
game.player.lastDamage = now;
|
game.player.lastDamage = now;
|
||||||
|
|
||||||
|
// Flash red screen
|
||||||
|
const damageFlash = document.getElementById('damageFlash');
|
||||||
|
damageFlash.classList.add('active');
|
||||||
|
setTimeout(() => {
|
||||||
|
damageFlash.classList.remove('active');
|
||||||
|
}, 150);
|
||||||
|
|
||||||
// Play player ouch sound
|
// Play player ouch sound
|
||||||
sounds.playerOuch.currentTime = 0;
|
sounds.playerOuch.currentTime = 0;
|
||||||
sounds.playerOuch.play().catch(e => console.log('Audio play failed:', e));
|
sounds.playerOuch.play().catch(e => console.log('Audio play failed:', e));
|
||||||
|
Reference in New Issue
Block a user