jumpthrough
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
мир.игрок = {
|
||||
задано: {},
|
||||
обновить: обновитьИгрока,
|
||||
обновить: function() {
|
||||
переместитьИгрока();
|
||||
задатьИгрокуМаскуСтолкновения();
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -21,8 +24,14 @@
|
||||
// // // //
|
||||
|
||||
|
||||
function обновитьИгрока()
|
||||
function переместитьИгрока()
|
||||
{
|
||||
var тело = мир.объекты.тела[мир.игрок.задано.объект];
|
||||
if (!тело)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var к = [
|
||||
мир.игрок.задано["клавиши.0"],
|
||||
мир.игрок.задано["клавиши.1"],
|
||||
@@ -32,12 +41,6 @@ function обновитьИгрока()
|
||||
var вправо = (мир.ввод.клавиши[к[1]] == true);
|
||||
var вверх = (мир.ввод.клавиши[к[2]] == true);
|
||||
|
||||
var тело = мир.объекты.тела[мир.игрок.задано.объект];
|
||||
if (!тело)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var скоростьГ = мир.игрок.задано["скорость.0"];
|
||||
var скоростьВ = мир.игрок.задано["скорость.1"];
|
||||
var скоростьY = (вверх && Math.abs(тело.velocity.y) <= 0.0000000000001) ? -скоростьВ : тело.velocity.y;
|
||||
@@ -54,3 +57,20 @@ function обновитьИгрока()
|
||||
Matter.Sleeping.set(тело, false);
|
||||
Matter.Body.setVelocity(тело, { x: скоростьX, y: скоростьY });
|
||||
}
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
function задатьИгрокуМаскуСтолкновения()
|
||||
{
|
||||
var тело = мир.объекты.тела[мир.игрок.задано.объект];
|
||||
if (!тело)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var маска = (тело.velocity.y < -1) ? 2 : 1;
|
||||
тело.collisionFilter.mask = маска;
|
||||
document.getElementById("отладка").innerHTML = `маска: ${маска}`;
|
||||
}
|
||||
|
||||
@@ -18,11 +18,17 @@
|
||||
}
|
||||
#корень {
|
||||
position: relative;
|
||||
}
|
||||
#отладка {
|
||||
position: absolute;
|
||||
right: 2em;
|
||||
bottom: 2em;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="корень"></div>
|
||||
<div id="отладка"></div>
|
||||
<script src="00100.мир.js"></script>
|
||||
<script src="00110.заголовок.js"></script>
|
||||
<script src="00120.физика.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user