|
|
@@ -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 = `маска: ${маска}`; |
|
|
|
} |