|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- мир.маскиПрыжков = {
- задано: {},
- };
-
-
- // // // //
-
-
- мир.ключники.push(function(ключ, путь, значение){
- if (!путь[0].startsWith("маскиПрыжков"))
- {
- return;
- }
-
- var имя = путь[1];
- var свойство = путь.slice(2).join(".");
-
- if (!мир.маскиПрыжков.задано[имя])
- {
- мир.маскиПрыжков.задано[имя] = {};
- }
- мир.маскиПрыжков.задано[имя][свойство] = значение;
- });
-
-
- // // // //
-
-
- мир.маскиПрыжков.обновить = function()
- {
- var за = мир.маскиПрыжков.задано;
-
- for (var имя in за)
- {
- var з = за[имя];
- var объект = з["объект"];
- var имяТела = з["тело"];
- var скорость = з["скорость"];
- var маскаДо = з["маски.0"];
- var маскаПосле = з["маски.1"];
- if ((!объект && !имяТела) || (скорость == null) || (маскаДо == null) || (маскаПосле == null))
- {
- continue;
- }
-
- var тело = null;
- if (объект)
- {
- тело = мир.объекты.тела[объект];
- }
- else if (имяТела)
- {
- тело = мир.тела.тела[имяТела];
- }
- if (!тело)
- {
- continue;
- }
-
- var маска = (тело.velocity.y < скорость) ? маскаДо : маскаПосле;
- тело.collisionFilter.mask = маска;
- }
- };
|