TGViewer
Moth Moth @namlessmoth · 44 subscribers
Post #49 24
Перед тем как писать логику джойстика давайте сначала нарисуем сам стик джойстика который будет двигаться и круг границы в которой он будет двигаться. Но рисовать мы будем не в основном коде, а уже внутри компонента. Потому что эти элементы являются неотъемлемой частью джойстика. Напишем такой код:

function joystickComp() {
return {
id: "joystickComp",
require: ["pos"],

add() {
let thumb = this.add([
circle(16, {fill: false}),
outline(4),
anchor("center"),
])

let outer = this.add([
circle(72, {fill: false}),
outline(4),
anchor("center"),
])
},
update() {

},
}
}

Как видите тут мы добавляем два объекта-кружка - стик (thumb) и границы движения стика (outer). Не лучшие названия конечно, но у меня не хватает фантазии и знания английского чтобы их лучше назвать, так что пока так. Добавляем мы их не через add() как обычно, а через this.add() . Это значит что мы добавляем объект какбы не на главную сцену, а конкретно внутрь объекта. Это не то же самое что компонент, который добавляет кусочек целого объекта. Отличия в то что this.add() добавляет полноценный объект который сам может иметь собственные компоненты. Но в то же время эти дочерние объекты имеет общие черты с родительским, например у них точка отсчёта позиции в центре родительского объекта, поэтому они будут перемещаться вместе с ним. Есть ещё некоторые общие черты, которые я не помню)
Далее в этих дочерних объектах идут компоненты circle, outline и anchor. Компонент circle мы уже знаем, но здесь он не обычный, там ещё передаётся дополнительнй аргумент в виде {fill: false} об этом подробно написано в документации kaboomjs.com/#CircleCompOpt если вкратце, то это просто убирает заполнение фигуры. outline(4) - это обычная обводка толщиной в 4 пикселя подробнее в документации https://kaboomjs.com/#outline
anchor - это привязка мы её уже добавляли.
  • ❤ 1
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 →