TGViewer
Moth Moth @namlessmoth · 44 subscribers
Post #68 30
Вы наверное заметили что мы ещё не использовали onMousePress, в joystickComp который добавляли ранее. Там будет очередное улучшение для нашего джойстика. Сделаем так, чтобы он не был привязан жестко к позиции, а чтобы как бы появлялся в месте первого нажатия. Мне сложно это нормально объяснить, но вы наверное и сами поняли потому что так работают нормальные джойстики абсолютно во всех играх.
Напишем следующий код в 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, вы можете изменить это число как хотите оно просто определяет радиус области где может появиться джойстик. Ну и потом ставим позицию джойстика в место нажатия. На гифке видно, что конкретно мы сделали.
  • ❤ 2
More from @namlessmoth
  1. Mar 7, 2026Как сломать босса одним прокачанным навыком Причём первую заратану я победил точно так же,…
  2. Mar 3, 2026Наиграл уже 150+ часов и даже не прошел половину игры Мне капец как не везёт почти в каждо…
  3. Feb 17, 2026Один месяц подписки на впн Вдруг кому надо https://t.me/gruVPNbot?start=g_UZhunlWNfFC_2127…
  4. Feb 16, 2026оставлю тут, чтобы не потерять вам смотреть нельзя, это только для меня
  5. Feb 13, 2026Вчера сделал всего три задания и все три оказались не правильными 1) Задание: Проведите ре…
  6. Feb 12, 2026Оказалось что всё-таки можно сдавать несколько заданий за один раз. Я вчера сдал 7 заданий…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →