cutechicken commited on
Commit
5484dcd
·
verified ·
1 Parent(s): b861918

Update game.js

Browse files
Files changed (1) hide show
  1. game.js +68 -0
game.js CHANGED
@@ -1293,6 +1293,61 @@ class Game {
1293
  const existingStallWarnings = document.querySelectorAll('.stall-escape-warning');
1294
  existingStallWarnings.forEach(w => w.remove());
1295
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1296
  if (this.fighter.warningBlinkState) {
1297
  const warningContainer = document.createElement('div');
1298
  warningContainer.className = 'warning-message';
@@ -1389,6 +1444,14 @@ class Game {
1389
  0 0 60px rgba(255, 0, 0, 0.8);
1390
  }
1391
  }
 
 
 
 
 
 
 
 
1392
  `;
1393
  document.head.appendChild(style);
1394
  }
@@ -1581,6 +1644,11 @@ class Game {
1581
  blurEffect.remove();
1582
  }
1583
 
 
 
 
 
 
1584
  const gameOverDiv = document.createElement('div');
1585
  gameOverDiv.className = 'start-screen';
1586
  gameOverDiv.style.display = 'flex';
 
1293
  const existingStallWarnings = document.querySelectorAll('.stall-escape-warning');
1294
  existingStallWarnings.forEach(w => w.remove());
1295
 
1296
+ // 고도 경고 외곽 효과
1297
+ let altitudeEdgeEffect = document.getElementById('altitudeEdgeEffect');
1298
+ if (this.fighter.altitude < 500) {
1299
+ if (!altitudeEdgeEffect) {
1300
+ altitudeEdgeEffect = document.createElement('div');
1301
+ altitudeEdgeEffect.id = 'altitudeEdgeEffect';
1302
+ document.body.appendChild(altitudeEdgeEffect);
1303
+ }
1304
+
1305
+ let edgeIntensity;
1306
+ if (this.fighter.altitude < 250) {
1307
+ // PULL UP 경고 - 강한 붉은 효과
1308
+ edgeIntensity = 0.6;
1309
+ altitudeEdgeEffect.style.cssText = `
1310
+ position: fixed;
1311
+ top: 0;
1312
+ left: 0;
1313
+ width: 100%;
1314
+ height: 100%;
1315
+ pointer-events: none;
1316
+ z-index: 1300;
1317
+ background: radial-gradient(ellipse at center,
1318
+ transparent 40%,
1319
+ rgba(255, 0, 0, ${edgeIntensity * 0.3}) 60%,
1320
+ rgba(255, 0, 0, ${edgeIntensity}) 100%);
1321
+ box-shadow: inset 0 0 150px rgba(255, 0, 0, ${edgeIntensity}),
1322
+ inset 0 0 100px rgba(255, 0, 0, ${edgeIntensity * 0.8});
1323
+ animation: pulse-red 0.5s infinite;
1324
+ `;
1325
+ } else {
1326
+ // LOW ALTITUDE 경고 - 약한 붉은 효과
1327
+ edgeIntensity = 0.3;
1328
+ altitudeEdgeEffect.style.cssText = `
1329
+ position: fixed;
1330
+ top: 0;
1331
+ left: 0;
1332
+ width: 100%;
1333
+ height: 100%;
1334
+ pointer-events: none;
1335
+ z-index: 1300;
1336
+ background: radial-gradient(ellipse at center,
1337
+ transparent 50%,
1338
+ rgba(255, 0, 0, ${edgeIntensity * 0.2}) 70%,
1339
+ rgba(255, 0, 0, ${edgeIntensity}) 100%);
1340
+ box-shadow: inset 0 0 100px rgba(255, 0, 0, ${edgeIntensity}),
1341
+ inset 0 0 50px rgba(255, 0, 0, ${edgeIntensity * 0.5});
1342
+ `;
1343
+ }
1344
+ } else {
1345
+ // 고도가 안전하면 효과 제거
1346
+ if (altitudeEdgeEffect) {
1347
+ altitudeEdgeEffect.remove();
1348
+ }
1349
+ }
1350
+
1351
  if (this.fighter.warningBlinkState) {
1352
  const warningContainer = document.createElement('div');
1353
  warningContainer.className = 'warning-message';
 
1444
  0 0 60px rgba(255, 0, 0, 0.8);
1445
  }
1446
  }
1447
+ @keyframes pulse-red {
1448
+ 0%, 100% {
1449
+ opacity: 1;
1450
+ }
1451
+ 50% {
1452
+ opacity: 0.7;
1453
+ }
1454
+ }
1455
  `;
1456
  document.head.appendChild(style);
1457
  }
 
1644
  blurEffect.remove();
1645
  }
1646
 
1647
+ const altitudeEffect = document.getElementById('altitudeEdgeEffect');
1648
+ if (altitudeEffect) {
1649
+ altitudeEffect.remove();
1650
+ }
1651
+
1652
  const gameOverDiv = document.createElement('div');
1653
  gameOverDiv.className = 'start-screen';
1654
  gameOverDiv.style.display = 'flex';