|
@@ -3,9 +3,7 @@ |
|
|
обновить: function() { |
|
|
обновить: function() { |
|
|
переместитьИгрока(); |
|
|
переместитьИгрока(); |
|
|
задатьИгрокуМаскуСтолкновения(); |
|
|
задатьИгрокуМаскуСтолкновения(); |
|
|
обновитьРаз(); |
|
|
|
|
|
}, |
|
|
}, |
|
|
раз: null, |
|
|
|
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -20,112 +18,15 @@ |
|
|
|
|
|
|
|
|
var свойство = путь.slice(1).join("."); |
|
|
var свойство = путь.slice(1).join("."); |
|
|
мир.игрок.задано[свойство] = значение; |
|
|
мир.игрок.задано[свойство] = значение; |
|
|
|
|
|
|
|
|
одинРазСоздать(); |
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function одинРазСоздать() |
|
|
|
|
|
{ |
|
|
|
|
|
if (мир.игрок.раз) |
|
|
|
|
|
{ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var элемент1 = document.createElement("div"); |
|
|
|
|
|
элемент1.style.position = "absolute"; |
|
|
|
|
|
элемент1.style.display = "block"; |
|
|
|
|
|
элемент1.style.transformOrigin = "center"; |
|
|
|
|
|
элемент1.style.width = `70px`; |
|
|
|
|
|
элемент1.style.height = `10px`; |
|
|
|
|
|
элемент1.style.background = "url(р/отладка/основа.jpg)", |
|
|
|
|
|
document.getElementById("корень").appendChild(элемент1); |
|
|
|
|
|
|
|
|
|
|
|
var фи = { |
|
|
|
|
|
isStatic: false, |
|
|
|
|
|
inertia: Infinity, |
|
|
|
|
|
collisionFilter: { |
|
|
|
|
|
mask: 1, |
|
|
|
|
|
}, |
|
|
|
|
|
}; |
|
|
|
|
|
var тело1 = Matter.Bodies.rectangle(1100, 200, 70, 10, фи); |
|
|
|
|
|
Matter.Composite.add(мир.физика.движок.world, тело1); |
|
|
|
|
|
|
|
|
|
|
|
var элемент2 = document.createElement("div"); |
|
|
|
|
|
элемент2.style.position = "absolute"; |
|
|
|
|
|
элемент2.style.display = "block"; |
|
|
|
|
|
элемент2.style.transformOrigin = "center"; |
|
|
|
|
|
элемент2.style.width = `70px`; |
|
|
|
|
|
элемент2.style.height = `70px`; |
|
|
|
|
|
элемент2.style.background = "url(р/колобок/колобок_неподвижен.png)", |
|
|
|
|
|
document.getElementById("корень").appendChild(элемент2); |
|
|
|
|
|
|
|
|
|
|
|
var ф2 = { |
|
|
|
|
|
isStatic: false, |
|
|
|
|
|
inertia: Infinity, |
|
|
|
|
|
collisionFilter: { |
|
|
|
|
|
mask: 1, |
|
|
|
|
|
}, |
|
|
|
|
|
}; |
|
|
|
|
|
var тело2 = Matter.Bodies.rectangle(1100, 150, 70, 70, ф2); |
|
|
|
|
|
Matter.Composite.add(мир.физика.движок.world, тело2); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ограничитель = Matter.Constraint.create({ |
|
|
|
|
|
bodyA: тело1, |
|
|
|
|
|
bodyB: тело2, |
|
|
|
|
|
stiffness: 1, |
|
|
|
|
|
}); |
|
|
|
|
|
Matter.Composite.add(мир.физика.движок.world, ограничитель); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
мир.игрок.раз = { |
|
|
|
|
|
элемент1: элемент1, |
|
|
|
|
|
тело1: тело1, |
|
|
|
|
|
элемент2: элемент2, |
|
|
|
|
|
тело2: тело2, |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
console.debug("создано раз"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function обновитьРаз() |
|
|
|
|
|
{ |
|
|
|
|
|
if (!мир.игрок.раз) |
|
|
|
|
|
{ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
мир.синхронизироватьЭлементТело(мир.игрок.раз.элемент1, мир.игрок.раз.тело1); |
|
|
|
|
|
мир.синхронизироватьЭлементТело(мир.игрок.раз.элемент2, мир.игрок.раз.тело2); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function переместитьИгрока() |
|
|
function переместитьИгрока() |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
if (!мир.игрок.раз) |
|
|
|
|
|
{ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//var тело = мир.объекты.тела[мир.игрок.задано.объект]; |
|
|
|
|
|
//var тело = мир.объекты.тела["игрок"]; |
|
|
|
|
|
var тело = мир.игрок.раз.тело1; |
|
|
|
|
|
//var тело = мир.игрок.раз.тело; |
|
|
|
|
|
|
|
|
var тело = мир.объекты.тела[мир.игрок.задано.объект]; |
|
|
if (!тело) |
|
|
if (!тело) |
|
|
{ |
|
|
{ |
|
|
return; |
|
|
return; |
|
@@ -155,9 +56,6 @@ var тело = мир.игрок.раз.тело1; |
|
|
|
|
|
|
|
|
Matter.Sleeping.set(тело, false); |
|
|
Matter.Sleeping.set(тело, false); |
|
|
Matter.Body.setVelocity(тело, { x: скоростьX, y: скоростьY }); |
|
|
Matter.Body.setVelocity(тело, { x: скоростьX, y: скоростьY }); |
|
|
|
|
|
|
|
|
Matter.Sleeping.set(мир.игрок.раз.тело2, false); |
|
|
|
|
|
Matter.Body.setVelocity(мир.игрок.раз.тело2, { x: скоростьX, y: скоростьY }); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -166,16 +64,7 @@ Matter.Body.setVelocity(мир.игрок.раз.тело2, { x: скорост |
|
|
|
|
|
|
|
|
function задатьИгрокуМаскуСтолкновения() |
|
|
function задатьИгрокуМаскуСтолкновения() |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
if (!мир.игрок.раз) |
|
|
|
|
|
{ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//var тело = мир.объекты.тела[мир.игрок.задано.объект]; |
|
|
|
|
|
//var тело = мир.объекты.тела["игрок"]; |
|
|
|
|
|
var тело = мир.игрок.раз.тело1; |
|
|
|
|
|
//var тело = мир.игрок.раз.тело; |
|
|
|
|
|
|
|
|
var тело = мир.объекты.тела[мир.игрок.задано.объект]; |
|
|
if (!тело) |
|
|
if (!тело) |
|
|
{ |
|
|
{ |
|
|
return; |
|
|
return; |
|
|