тела без физики

This commit is contained in:
2021-10-08 16:26:35 +03:00
부모 7b988c6205
커밋 f86402986d
2개의 변경된 파일22개의 추가작업 그리고 15개의 파일을 삭제

파일 보기

@@ -59,7 +59,6 @@ function Изображения(события, виды, корень)
var эл = this.элементы[имя];
var угол = за.угол ? за.угол : ум.угол;
/**/console.debug("ИГР Изображения.обновитьУ имя/угол", имя, угол);
var transform = `rotate(${угол}deg) `;
let вид = за["вид"];

파일 보기

@@ -3,14 +3,9 @@ function Тела(физмир)
this.создать = function()
{
this.умолчание = {
x: 0,
y: 0,
ширина: 40,
высота: 20,
пр: [0, 0, 40, 20],
части: [],
часть: false,
физика: {
isStatic: true,
},
};
this.задано = {};
@@ -61,15 +56,15 @@ function Тела(физмир)
var за = this.задано[имя];
var ум = this.умолчание;
var x = (за.x != null) ? за.x : ум.x;
var y = (за.y != null) ? за.y : ум.y;
var ширина = за.ширина ? за.ширина : ум.ширина;
var высота = за.высота ? за.высота : ум.высота;
let пр = this.пр(имя);
// Переводим x,y из левого верхнего угла в центр.
x = x + ширина / 2.0;
y = y + высота / 2.0;
пр[0] = пр[0] + пр[2] / 2.0;
пр[1] = пр[1] + пр[3] / 2.0;
// Параметры тела.
var параметры = {};
/*
* НАДО использовать из ключа физика
*
Object.assign(параметры, ум.физика);
for (var путь in за)
{
@@ -79,6 +74,7 @@ function Тела(физмир)
мир.задатьПолныйКлюч(параметры, свойство, за[путь]);
}
}
*/
var тело = null;
// Создаём новое составное тело.
@@ -91,7 +87,7 @@ function Тела(физмир)
// Вполне может быть частью другого составного тела.
else
{
тело = Matter.Bodies.rectangle(x, y, ширина, высота, параметры);
тело = Matter.Bodies.rectangle(пр[0], пр[1], пр[2], пр[3], параметры);
}
this.тела[имя] = тело;
this.имена[тело.id] = имя;
@@ -104,6 +100,18 @@ function Тела(физмир)
}
};
this.пр = function(имя)
{
let за = this.задано[имя];
let пр = this.умолчание.пр;
return [
за["пр.0"] ? за["пр.0"] : пр[0],
за["пр.1"] ? за["пр.1"] : пр[1],
за["пр.2"] ? за["пр.2"] : пр[2],
за["пр.3"] ? за["пр.3"] : пр[3],
];
};
this.телаЧастей = function(имена)
{
var тела = [];