действия игрока
This commit is contained in:
@@ -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("закончили прыжок");
|
мир.действия.совершить("игрокПриземлился");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -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 = вывод;
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -334,16 +334,15 @@
|
|||||||
столкновения: {
|
столкновения: {
|
||||||
стрела: {
|
стрела: {
|
||||||
объекты: ["кирпич", "сенсор"],
|
объекты: ["кирпич", "сенсор"],
|
||||||
действие: "подкинутьСтрелу",
|
действие: "возможноПодкинутьСтрелу",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
действия: {
|
действия: {
|
||||||
подкинутьСтрелу: [
|
возможноПодкинутьСтрелу: [
|
||||||
() => { console.debug("НАДО подкинуть стрелу"); },
|
|
||||||
"бесконечноПодкидывать",
|
|
||||||
],
|
|
||||||
бесконечноПодкидывать: [
|
|
||||||
() => { Matter.Body.setVelocity(мир.объекты.тела.стрела, { x: 0, y: -12 }); },
|
() => { Matter.Body.setVelocity(мир.объекты.тела.стрела, { x: 0, y: -12 }); },
|
||||||
],
|
],
|
||||||
|
игрокПриземлился: [
|
||||||
|
() => { console.debug("приземлились со скоростью", мир.игрок.приземление.скорость); },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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="300.действия.js"></script>
|
||||||
<script src="320.слежение.js"></script>
|
<script src="320.игрок.js"></script>
|
||||||
<script src="340.действия.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>
|
||||||
|
|||||||
Reference in New Issue
Block a user