Browse Source

действия игрока

master
parent
commit
9b3a5d5e55
6 changed files with 21 additions and 20 deletions
  1. +0
    -0
      300.действия.js
  2. +13
    -6
      320.игрок.js
  3. +0
    -0
      340.слежение.js
  4. +0
    -5
      400.столкновения.js
  5. +5
    -6
      800.пример.json.js
  6. +3
    -3
      index.html

340.действия.js → 300.действия.js View File


300.игрок.js → 320.игрок.js View File

@@ -5,6 +5,9 @@
время: new Date(), время: new Date(),
скоростьОтсутствия: 0.0001, скоростьОтсутствия: 0.0001,
}, },
приземление: {
скорость: 0,
},
тело: null, тело: null,
}; };


@@ -54,9 +57,6 @@


var скоростьГ = мир.игрок.задано["скорость.0"]; var скоростьГ = мир.игрок.задано["скорость.0"];
var скоростьX = 0; var скоростьX = 0;

//var вверх = (мир.ввод.клавиши[к[2]] == true);
//var скоростьY = (вверх && Math.abs(тело.velocity.y) <= 0.00001) ? -скоростьВ : тело.velocity.y;
var скоростьВ = мир.игрок.задано["скорость.1"]; var скоростьВ = мир.игрок.задано["скорость.1"];
var скоростьY = (мир.игрок.прыжок.статус == 1) ? -скоростьВ : мир.игрок.тело.velocity.y; var скоростьY = (мир.игрок.прыжок.статус == 1) ? -скоростьВ : мир.игрок.тело.velocity.y;


@@ -112,7 +112,7 @@ if (Math.abs(мир.игрок.было - тело.velocity.y) > 0.001)
if (мир.игрок.прыжок.статус == 1) if (мир.игрок.прыжок.статус == 1)
{ {
мир.игрок.прыжок.статус = 2; мир.игрок.прыжок.статус = 2;
console.debug("в прыжке");
мир.действия.совершить("игрокВПрыжке");
} }
var нетДвижения = (Math.abs(мир.игрок.тело.velocity.y) < мир.игрок.прыжок.скоростьОтсутствия); var нетДвижения = (Math.abs(мир.игрок.тело.velocity.y) < мир.игрок.прыжок.скоростьОтсутствия);
var клавиша = мир.игрок.задано["клавиши.2"]; var клавиша = мир.игрок.задано["клавиши.2"];
@@ -123,7 +123,8 @@ console.debug("в прыжке");
нетДвижения нетДвижения
) { ) {
мир.игрок.прыжок.статус = 1; мир.игрок.прыжок.статус = 1;
console.debug("начали прыжок");
мир.игрок.приземление.скорость = 0;
мир.действия.совершить("игрокНачалПрыжок");
} }


if (мир.игрок.прыжок.статус != 2) if (мир.игрок.прыжок.статус != 2)
@@ -131,6 +132,12 @@ console.debug("начали прыжок");
return; return;
} }


var скорость = мир.игрок.тело.velocity.y;
if (скорость > мир.игрок.приземление.скорость)
{
мир.игрок.приземление.скорость = скорость;
}

var сейчас = new Date(); var сейчас = new Date();
var прошло = сейчас - мир.игрок.прыжок.время; var прошло = сейчас - мир.игрок.прыжок.время;
if ( if (
@@ -139,6 +146,6 @@ console.debug("начали прыжок");
) { ) {
мир.игрок.прыжок.время = сейчас; мир.игрок.прыжок.время = сейчас;
мир.игрок.прыжок.статус = 0; мир.игрок.прыжок.статус = 0;
console.debug("закончили прыжок");
мир.действия.совершить("игрокПриземлился");
} }
}; };

320.слежение.js → 340.слежение.js View File


+ 0
- 5
400.столкновения.js View File

@@ -39,7 +39,6 @@
{ {
var за = мир.столкновения.задано; var за = мир.столкновения.задано;


var вывод = "";
for (var имя in за) for (var имя in за)
{ {
var ст = за[имя]; var ст = за[имя];
@@ -64,10 +63,6 @@ var вывод = "";
continue; continue;
} }
мир.действия.совершить(ст.действие); мир.действия.совершить(ст.действие);

вывод += `${имя1} x ${имя2}, `;
console.debug("столкновение ожидаемых объектов", пара.bodyA.id, пара.bodyB.id);
} }
} }
document.getElementById("отладка").innerHTML = вывод;
}; };

+ 5
- 6
800.пример.json.js View File

@@ -334,16 +334,15 @@
столкновения: { столкновения: {
стрела: { стрела: {
объекты: ["кирпич", "сенсор"], объекты: ["кирпич", "сенсор"],
действие: "подкинутьСтрелу",
действие: "возможноПодкинутьСтрелу",
}, },
}, },
действия: { действия: {
подкинутьСтрелу: [
() => { console.debug("НАДО подкинуть стрелу"); },
"бесконечноПодкидывать",
],
бесконечноПодкидывать: [
возможноПодкинутьСтрелу: [
() => { Matter.Body.setVelocity(мир.объекты.тела.стрела, { x: 0, y: -12 }); }, () => { Matter.Body.setVelocity(мир.объекты.тела.стрела, { x: 0, y: -12 }); },
], ],
игрокПриземлился: [
() => { console.debug("приземлились со скоростью", мир.игрок.приземление.скорость); },
],
}, },
}); });

+ 3
- 3
index.html View File

@@ -35,9 +35,9 @@
<script src="140.изображения.js"></script> <script src="140.изображения.js"></script>
<script src="160.объекты.js"></script> <script src="160.объекты.js"></script>
<script src="180.ввод.js"></script> <script src="180.ввод.js"></script>
<script src="300.игрок.js"></script>
<script src="320.слежение.js"></script>
<script src="340.действия.js"></script>
<script src="300.действия.js"></script>
<script src="320.игрок.js"></script>
<script src="340.слежение.js"></script>
<script src="400.столкновения.js"></script> <script src="400.столкновения.js"></script>
<script src="700.пуск.js"></script> <script src="700.пуск.js"></script>
<script src="800.пример.json.js"></script> <script src="800.пример.json.js"></script>


Loading…
Cancel
Save