следить изо
This commit is contained in:
12
220.игрок.js
12
220.игрок.js
@@ -1,8 +1,8 @@
|
||||
мир.игрок = {
|
||||
задано: {},
|
||||
обновить: function() {
|
||||
переместитьИгрока();
|
||||
задатьИгрокуМаскуСтолкновения();
|
||||
мир.игрок.переместить();
|
||||
мир.игрок.задатьМаскуСтолкновения();
|
||||
},
|
||||
};
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// // // //
|
||||
|
||||
|
||||
function переместитьИгрока()
|
||||
мир.игрок.переместить = function()
|
||||
{
|
||||
var тело = мир.объекты.тела[мир.игрок.задано.объект];
|
||||
if (!тело)
|
||||
@@ -56,13 +56,13 @@ function переместитьИгрока()
|
||||
|
||||
Matter.Sleeping.set(тело, false);
|
||||
Matter.Body.setVelocity(тело, { x: скоростьX, y: скоростьY });
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
function задатьИгрокуМаскуСтолкновения()
|
||||
мир.игрок.задатьМаскуСтолкновения = function()
|
||||
{
|
||||
var тело = мир.объекты.тела[мир.игрок.задано.объект];
|
||||
if (!тело)
|
||||
@@ -73,4 +73,4 @@ function задатьИгрокуМаскуСтолкновения()
|
||||
var прыжок = тело.velocity.y < -1;
|
||||
var маска = прыжок ? 1 : (1 | 2);
|
||||
тело.collisionFilter.mask = маска;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
мир.слежения = {
|
||||
мир.слежение = {
|
||||
умолчание: {
|
||||
смещение: [0, 0],
|
||||
скорость: 1,
|
||||
},
|
||||
задано: {},
|
||||
обновить: обновитьСлежения,
|
||||
};
|
||||
|
||||
|
||||
@@ -12,7 +11,7 @@
|
||||
|
||||
|
||||
мир.ключники.push(function(ключ, путь, значение){
|
||||
if (!путь[0].startsWith("слежения"))
|
||||
if (!путь[0].startsWith("слежение"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -20,27 +19,24 @@
|
||||
var имя = путь[1];
|
||||
var свойство = путь.slice(2).join(".");
|
||||
|
||||
if (!мир.слежения.задано[имя])
|
||||
if (!мир.слежение.задано[имя])
|
||||
{
|
||||
мир.слежения.задано[имя] = {};
|
||||
мир.слежение.задано[имя] = {};
|
||||
}
|
||||
мир.слежения.задано[имя][свойство] = значение;
|
||||
console.debug("слежения.задано имя/свойство", имя, свойство);
|
||||
мир.слежение.задано[имя][свойство] = значение;
|
||||
});
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
function обновитьСлежения()
|
||||
мир.слежение.обновить = function()
|
||||
{
|
||||
console.debug("обновитьСлежения");
|
||||
var за = мир.слежения.задано;
|
||||
var ум = мир.слежения.умолчание;
|
||||
var за = мир.слежение.задано;
|
||||
var ум = мир.слежение.умолчание;
|
||||
|
||||
for (var имя in за)
|
||||
{
|
||||
console.debug("обновитьСлежения. имя:", имя);
|
||||
var эл = null;
|
||||
if (имя == "камера")
|
||||
{
|
||||
@@ -48,7 +44,7 @@ console.debug("обновитьСлежения. имя:", имя);
|
||||
}
|
||||
else
|
||||
{
|
||||
эл = элементСлежения(за[имя]);
|
||||
эл = мир.слежение.элемент(за[имя]);
|
||||
}
|
||||
var тело = null;
|
||||
var имяТела = за[имя]["объект"];
|
||||
@@ -56,15 +52,15 @@ console.debug("обновитьСлежения. имя:", имя);
|
||||
{
|
||||
тело = мир.объекты.тела[имяТела];
|
||||
}
|
||||
обновитьЭлемент(эл, тело, за[имя], ум);
|
||||
мир.слежение.обновитьЭлемент(эл, тело, за[имя], ум);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
function элементСлежения(задано)
|
||||
мир.слежение.элемент = function(задано)
|
||||
{
|
||||
var id = null;
|
||||
var изображение = задано["изображение"];
|
||||
@@ -72,25 +68,22 @@ function элементСлежения(задано)
|
||||
{
|
||||
id = мир.изображения.элементы[изображение].id;
|
||||
}
|
||||
var эл = document.getElementById(id);
|
||||
console.debug("элементСлежения. эл:", эл);
|
||||
return эл;
|
||||
}
|
||||
return document.getElementById(id);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
function обновитьЭлемент(элемент, тело, задано, умолчание)
|
||||
мир.слежение.обновитьЭлемент = function(элемент, тело, задано, умолчание)
|
||||
{
|
||||
if (!элемент || !тело || !умолчание)
|
||||
if (!элемент || !тело)
|
||||
{
|
||||
return;
|
||||
}
|
||||
console.debug("обновитьЭлемент. элемент:", элемент, "тело:", тело, "за:", задано, "ум:", умолчание);
|
||||
var скорость = задано.скорость ? задано.скорость : умолчание.скорость;
|
||||
var смещениеX = задано.смещение ? задано.смещение[0] : умолание.смещение[0];
|
||||
var смещениеY = задано.смещение ? задано.смещение[1] : умолание.смещение[1];
|
||||
var смещениеX = задано["смещение.0"] ? задано["смещение.0"] : умолчание.смещение[0];
|
||||
var смещениеY = задано["смещение.1"] ? задано["смещение.1"] : умолчание.смещение[1];
|
||||
|
||||
// Сейчас.
|
||||
var x0 = 0;
|
||||
@@ -115,14 +108,15 @@ console.debug("обновитьЭлемент. элемент:", элемент,
|
||||
var x = lerp(x0, x1, скорость);
|
||||
var y = lerp(y0, y1, скорость);
|
||||
|
||||
корень.style.left = `${x}px`;
|
||||
корень.style.top = `${y}px`;
|
||||
}
|
||||
элемент.style.left = `${x}px`;
|
||||
элемент.style.top = `${y}px`;
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
/*
|
||||
function обновитьКамеру()
|
||||
{
|
||||
var объект = мир.камера.задано.объект;
|
||||
@@ -158,3 +152,4 @@ function обновитьКамеру()
|
||||
корень.style.left = `${x}px`;
|
||||
корень.style.top = `${y}px`;
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
мир.физика.обновить();
|
||||
мир.объекты.обновить();
|
||||
мир.игрок.обновить();
|
||||
//мир.слежения.обновить();
|
||||
мир.слежение.обновить();
|
||||
requestAnimationFrame(мир.обновить);
|
||||
};
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
ширина: 2000,
|
||||
высота: 600,
|
||||
вид: {
|
||||
//background: "url(р/сцены/изба.jpg)",
|
||||
background: "url(р/сцены/изба.jpg)",
|
||||
},
|
||||
},
|
||||
колобок: {
|
||||
@@ -23,9 +23,11 @@
|
||||
кирпич: {
|
||||
x: 1170,
|
||||
y: 350,
|
||||
высота: 10,
|
||||
ширина: 70,
|
||||
вид: {
|
||||
background: "url(р/отладка/основа.jpg)",
|
||||
display: "none",
|
||||
},
|
||||
физика: {
|
||||
isStatic: false,
|
||||
@@ -110,7 +112,7 @@
|
||||
колобок: {
|
||||
объект: "кирпич",
|
||||
изображение: "колобок",
|
||||
смещение: [0, 0],
|
||||
смещение: [-35, -65],
|
||||
скорость: 1,
|
||||
},
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user