Напишем следующий код в joystickComp:
export default function joystickComp() {
return {
id: "joystickComp",
require: ["pos"],
direction: vec2(0),
startPos: vec2(width() / 2, height() / 1.2),
Тут мы дописали только startPos: vec2(width() / 2, height() / 1.2),то есть просто присвоили начальную позицию новому свойству startPos.
и потом:
onMousePress(() => {
if(mousePos().dist(this.startPos) < 180) {
this.pos = mousePos()
}
})
Тут мы проверяем если дистанция от мыши до стартовой позиции меньше определённого числа например 180, вы можете изменить это число как хотите оно просто определяет радиус области где может появиться джойстик. Ну и потом ставим позицию джойстика в место нажатия. На гифке видно, что конкретно мы сделали.