почти стрела
This commit is contained in:
54
360.маскиПрыжков.js
Normal file
54
360.маскиПрыжков.js
Normal file
@@ -0,0 +1,54 @@
|
||||
мир.маскиПрыжков = {
|
||||
задано: {},
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
мир.ключники.push(function(ключ, путь, значение){
|
||||
if (!путь[0].startsWith("маскиПрыжков"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var имя = путь[1];
|
||||
var свойство = путь.slice(2).join(".");
|
||||
|
||||
if (!мир.маскиПрыжков.задано[имя])
|
||||
{
|
||||
мир.маскиПрыжков.задано[имя] = {};
|
||||
}
|
||||
мир.маскиПрыжков.задано[имя][свойство] = значение;
|
||||
});
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
мир.маскиПрыжков.обновить = function()
|
||||
{
|
||||
var за = мир.маскиПрыжков.задано;
|
||||
|
||||
for (var имя in за)
|
||||
{
|
||||
var з = за[имя];
|
||||
var объект = з["объект"];
|
||||
var скорость = з["скорость"];
|
||||
var маскаДо = з["маски.0"];
|
||||
var маскаПосле = з["маски.1"];
|
||||
if (!объект || (скорость == null) || (маскаДо == null) || (маскаПосле == null))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var тело = мир.объекты.тела[объект];
|
||||
if (!тело)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var маска = (тело.velocity.y < скорость) ? маскаДо : маскаПосле;
|
||||
тело.collisionFilter.mask = маска;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user