переименовать
This commit is contained in:
76
220.игрок.js
Normal file
76
220.игрок.js
Normal 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 = маска;
|
||||
}
|
||||
Reference in New Issue
Block a user