Перейти к содержимому
Xytabich

Open Peripheral Addons: Terminal Glasses в OpenComputers

Рекомендуемые сообщения

10 часов назад, Xytabich сказал:

Вот такая шпаргалка по очкам, надеюсь пригодится :)

гайд четкий. Отличный контент для сайта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Xytabich 

У меня есть предъява, нету параметра setDragParameters.

image.png.55ce9b8c6848fe118d9d1e1370004a0c.png

Как и параметра setKeyRepeat.

image.png.0459495726bbccb19a9e5bba215ac643.png

Почему? :(

Изменено пользователем Oleshe

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Oleshe неизвестно, без примера кода это лишь абстрактные ошибки

Изменено пользователем Xytabich

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Xytabich сказал:

@Oleshe неизвестно, без примера кода это лишь абстрактные ошибки

image.png.7a698366d9c0a82ddb4c612a24259d70.png

вот

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Oleshe компонент "openperipheral_bridge" возвращает объект типа TerminalGlassesBridge, у него нет подобных методов. Для использования setDragParameters и подобных методов, необходим объект CaptureControl, который доступен только в режиме захвата (насколько я помню). Т.е. необходимо сначала удостовериться что пользователь надел очки, для этого можно использовать события glasses_capture и glasses_release. После этого можно получить CaptureControl при помощи openperipheral_bridge.getCaptureControl(uuid), используя uuid пользователя который находится в режиме захвата (т.е. ткнул пкм с клавиатурой в руках).
Примерный код:

local bridge = component.openperipheral_bridge

event.listen("glasses_capture", function()
  local uuid = bridge.getUsers()[1].uuid -- можно использовать только если один пользователь использует терминал
  local capture = bridge.getCaptureControl(uuid)
  capture.setDragParameters(5, 10)
end)

 

В данной статье используются принципы объектно-ориентированного программирования, для сокращения объема кода и разделения функционала по своим разделам. По этому необходимо обращать внимание в каком объекте реализован необходимый функционал, а также возвращаемые функциями значения. Например:

TerminalGlassesBridge:DrawableContainer, DrawableFactory
  -- при использовании объекта TerminalGlassesBridge можно так же использовать функционал из объектов DrawableContainer и DrawableFactory
  -- TerminalGlassesBridge также реализует собственный функционал:
  getCaptureControl(uuid:string):CaptureControl
    -- принимает на вход параметр с именем uuid, имеющий тип string
    -- возвращает объект типа CaptureControl


 

Изменено пользователем Xytabich

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...