@@ -52,3 +52,29 @@ | |||||
} | } | ||||
} | } | ||||
}; | }; | ||||
мир.задать = function(словарь, ключ, значение) { | |||||
var путь = ключ.split("."); | |||||
if (путь.length == 1) | |||||
{ | |||||
словарь[ключ] = значение; | |||||
} | |||||
else | |||||
{ | |||||
var пройти = путь.length - 1; | |||||
var вложенность = словарь; | |||||
for (var номер = 0; номер < пройти; ++номер) | |||||
{ | |||||
var внутреннийКлюч = путь[номер]; | |||||
console.debug("проход номер/внутреннийКлюч", номер, внутреннийКлюч); | |||||
var внутреннийСловарь = вложенность[внутреннийКлюч]; | |||||
if (!внутреннийСловарь) | |||||
{ | |||||
вложенность[внутреннийКлюч] = {}; | |||||
внутреннийСловарь = вложенность[внутреннийКлюч]; | |||||
вложенность = внутреннийСловарь; | |||||
} | |||||
} | |||||
} | |||||
}; |
@@ -96,10 +96,13 @@ function пересоздатьТело(имя, свойство) | |||||
if (путь.startsWith("физика")) | if (путь.startsWith("физика")) | ||||
{ | { | ||||
var свойство = путь.slice(7); | var свойство = путь.slice(7); | ||||
физика[свойство] = за[путь]; | |||||
мир.задать(физика, свойство, за[путь]); | |||||
//физика[свойство] = за[путь]; | |||||
} | } | ||||
} | } | ||||
console.debug("имя/физика", имя, физика); | |||||
var тело = Matter.Bodies.rectangle(x, y, ширина, высота, физика); | var тело = Matter.Bodies.rectangle(x, y, ширина, высота, физика); | ||||
Matter.Composite.add(мир.физика.движок.world, тело); | Matter.Composite.add(мир.физика.движок.world, тело); | ||||
мир.объекты.тела[имя] = тело; | мир.объекты.тела[имя] = тело; | ||||
@@ -21,6 +21,9 @@ | |||||
физика: { | физика: { | ||||
isStatic: false, | isStatic: false, | ||||
inertia: Infinity, | inertia: Infinity, | ||||
collisionFilter: { | |||||
mask: 0x0008, | |||||
}, | |||||
}, | }, | ||||
}, | }, | ||||
полСлева: { | полСлева: { | ||||
@@ -31,6 +34,11 @@ | |||||
background: "url(р/отладка/основа.jpg)", | background: "url(р/отладка/основа.jpg)", | ||||
display: "none", | display: "none", | ||||
}, | }, | ||||
физика: { | |||||
collisionFilter: { | |||||
category: 0x0004, | |||||
}, | |||||
}, | |||||
}, | }, | ||||
полКрышки: { | полКрышки: { | ||||
x: 357, | x: 357, | ||||