OpenComputers/Дрон
Дрон — беспилотный летающий аппарат. Он проще, чем робот, и более ограничен в функционале. Но при этом он основан на другом принципе передвижения, так как является сущностью. В отличие от робота, который передвигается последовательно переходя из куба в куб, дрон двигается от точки к точке в любом направлении. Кроме того, дрон способен преодолевать открытые дверные проемы, ворота и т. д. Робот не может находиться в блоке, где уже находится какой-либо объект. Даже если это — открытая дверь.
Дрон не имеет своей видеокарты (и монитора). Вместо неё он использует небольшой (на две строки) экранчик в своём интерфейсе.
У дрона отсутствует файловая система. Программа дрона записывается на чип EEPROM (наподобие микроконтроллера). Для этого вы можете воспользоваться командами компонента eeprom
или программой flash
, которая входит в состав OpenOS.
Для того чтобы заменить старый чип, положите дрон и новый чип в верстак. Чипы поменяются местами.
Дрон не умеет пользоваться инструментами. Однако он умеет ломать и ставить те блоки, которые может сломать игрок рукой.
Дрон имеет небольшой внутренний инвентарь, и способен управлять апгрейдами - контроллерами инвентаря и внутренних цистерн.
Создание дрона
Для настройки и создания нового дрона используется сборщик. Он позволяет подобрать комплектующие в соответствии с будущей задачей дрона.
Поместите в левый слот сборщика корпус дрона. При создании вы можете использовать любые компьютерные комплектующие и апгрейды, не превосходящие уровень использующегося корпуса.
Вы можете установить на дрона уже записанный чип EEPROM. Или заменить его потом, использовав в процессе сборки пустой чип.
API
Название компонента: drone
getStatusText():string
Возвращает текст, отображаемый в дисплее дрона.
setStatusText(value:string):string
Изменяет текст в дисплее дрона.
Для того чтобы отобразить текст в две строчки, используйте в тексте управляющий символ переноса строки: \n
.
drone.setLightColor(value:hexademical)
Изменяет цвет дрона на заданный.
move(dx:number, dy:number, dz:number)
Назначает дрону конечную точку, в которую он должен переместиться.
getOffset():number
Возвращает текущее расстояние до конечной точки.
getVelocity():number
Возвращает текущую скорость, в м/с.
getMaxVelocity():number
Возвращает максимальную скорость, в м/с.
getAcceleration():number
Возвращает ускорение дрона.
setAcceleration(value:number):number
Изменяет ускорение на заданное, и возвращает результат.
Помимо этого, дроны поддерживают большинство функций робота по взаимодействию с окружающим миром. Например, такие как detect
, suck
, drop
, drain
, fill
.
Смотрите также
История версий
- OpenComputers 1.4.3 Beta 1: добавлены дроны.