переименовать

This commit is contained in:
2021-07-12 14:24:49 +03:00
parent eb51faa1b9
commit e69b1071ab
13 changed files with 25 additions and 11 deletions

76
220.игрок.js Normal file
View File

@@ -0,0 +1,76 @@
мир.игрок = {
задано: {},
обновить: function() {
переместитьИгрока();
задатьИгрокуМаскуСтолкновения();
},
};
// // // //
мир.ключники.push(function(ключ, путь, значение){
if (!ключ.startsWith("игрок"))
{
return;
}
var свойство = путь.slice(1).join(".");
мир.игрок.задано[свойство] = значение;
});
// // // //
function переместитьИгрока()
{
var тело = мир.объекты.тела[мир.игрок.задано.объект];
if (!тело)
{
return;
}
var к = [
мир.игрок.задано["клавиши.0"],
мир.игрок.задано["клавиши.1"],
мир.игрок.задано["клавиши.2"],
];
var влево = (мир.ввод.клавиши[к[0]] == true);
var вправо = (мир.ввод.клавиши[к[1]] == true);
var вверх = (мир.ввод.клавиши[к[2]] == true);
var скоростьГ = мир.игрок.задано["скорость.0"];
var скоростьВ = мир.игрок.задано["скорость.1"];
var скоростьY = (вверх && Math.abs(тело.velocity.y) <= 0.00001) ? -скоростьВ : тело.velocity.y;
var скоростьX = 0;
if (влево)
{
скоростьX = -скоростьГ;
}
else if (вправо)
{
скоростьX = скоростьГ;
}
Matter.Sleeping.set(тело, false);
Matter.Body.setVelocity(тело, { x: скоростьX, y: скоростьY });
}
// // // //
function задатьИгрокуМаскуСтолкновения()
{
var тело = мир.объекты.тела[мир.игрок.задано.объект];
if (!тело)
{
return;
}
var прыжок = тело.velocity.y < -1;
var маска = прыжок ? 1 : (1 | 2);
тело.collisionFilter.mask = маска;
}