Я делаю простой проект с Physics.JS, и я хочу иметь возможность добавлять текст в мир PhysicsJS. Я просмотрел документацию, но не смог найти что-то, что могло бы позволить мне сделать такое. Есть ли способ добавить текст и также иметь возможность манипулировать его частями, такими как увеличение скорости, реституция и другие вещи от двигателя?Как добавить текст в холст с помощью PhysicsJS
0
A
ответ
0
Просто продлить rectangle
тело, и изменить его view
на холст с текстом на нем:
Physics.body('text', 'rectangle', function (parent) {
var canv = document.createElement('canvas');
canv.width = 310;
canv.height = 60;
var ctx = canv.getContext("2d");
ctx.fillStyle = "#ffffff";
ctx.textAlign = "left"
ctx.textBaseline = "top";
ctx.font = "80px sans-serif";
return {
// Called when the body is initialized
init: function(options) {
parent.init.call(this, options);
ctx.fillText(options.text,0,0);
},
// Called when the body is added to a world
connect: function() {
this.view = canv;
}
}
});
Затем, чтобы создать его экземпляр:
Physics.body('text', {
x: 400,
y: 570,
width: 310,
height: 60,
text: "Some text here",
})
Вы указываете строку текста с помощью options.text
,
Конечно, можно было бы сделать его более динамичным, позволяя указывать параметры шрифта в параметрах, затем автоматически вычислять размер на init и т. Д. ...
Если вы хотите визуализировать текст, который взаимодействует с физикой мира, вам нужно создать физическое тело в форме нужного вам текста. Что касается статического рисования текста, для этого физическийJS не создан. –
Вы имеете в виду вытягивать каждого символа текста с помощью выпуклого полигона как способ создания тела? – Darko
Yup. То есть, если вы хотите, чтобы он действовал как физическое тело. –