Skip to main content
Матриця (Matrix)

Команди Matrix (матриця) контролюють 8x8 світлодіодну матрицю на BOLT та LCD-екран на BOLT+.

Matrix Animation (Анімація матриці)

 

Matrix Animation (Анімація матриці)

 

playMatrixAnimation(0, true) встановлює зображення (1 кадр) або анімацію (більше ніж 1 кадр) на матриці, використовуючи 4 характеристики: кадри, палітру (обмежену 16 кольорами на анімацію), fps (швидкість від 1 до 30 кадрів на секунду) і стиль переходу (згасання або без нього). 

Використовуйте true для повторення анімації у циклі або false, щоб відтворити її лише один раз. 

Якщо встановлено true, анімація буде відтворюватися до переривання новою командою playMatrixAnimation(x), clearMatrix(), pauseMatrixAnimation() або resumeMatrixAnimation()

Анімації важко створювати в текстовій програмі, тому ми рекомендуємо генерувати їх у програмі на блоках і копіювати код. 

Ви не можете змінювати анімацію під час виконання програми, оскільки додаток Sphero Edu попередньо завантажує анімації на роботі при запуску програми. 

Анімації можуть займати великий обсяг даних, і їх неможливо передавати в реальному часі через обмеження пропускної здатності Bluetooth. 

Приклад коду для анімації обличчя зі смайликом:

 

Sphero анімація обличчя зі смайликом

 

async function startProgram() {
	playMatrixAnimation(0);
}
registerMatrixAnimation({
	frames: [[[1, 1, 6, 6, 6, 6, 1, 1], [1, 6, 6, 6, 6, 6, 6, 1], [6, 6, 1, 6, 6, 1, 6, 6], [6, 6, 6, 6, 6, 6, 6, 6], [6, 6, 6, 1, 1, 6, 6, 6], [6, 6, 6, 1, 1, 6, 6, 6], [1, 6, 6, 6, 6, 6, 6, 1], [1, 1, 6, 6, 6, 6, 1, 1]], [[6, 6, 6, 6, 6, 6, 6, 6], [6, 6, 1, 6, 6, 1, 6, 6], [6, 6, 1, 6, 6, 1, 6, 6], [6, 1, 1, 6, 6, 1, 1, 6], [6, 6, 6, 6, 6, 6, 6, 6], [6, 1, 1, 1, 1, 1, 1, 6], [1, 6, 1, 1, 1, 1, 6, 1], [1, 1, 6, 6, 6, 6, 1, 1]]],
	palette: [{ r: 255, g: 255, b: 255 }, { r: 0, g: 0, b: 0 }, { r: 255, g: 0, b: 0 }, { r: 255, g: 16, b: 0 }, { r: 255, g: 128, b: 0 }, { r: 255, g: 191, b: 0 }, { r: 255, g: 255, b: 0 }, { r: 185, g: 246, b: 30 }, { r: 0, g: 255, b: 0 }, { r: 185, g: 255, b: 255 }, { r: 0, g: 255, b: 255 }, { r: 0, g: 0, b: 255 }, { r: 145, g: 0, b: 211 }, { r: 157, g: 48, b: 118 }, { r: 255, g: 0, b: 255 }, { r: 204, g: 27, b: 126 }],
	fps: 6,
	transition: MatrixAnimationTransition.None
});
Matrix Scroll Text (Прокручування тексту на матриці)

 

Matrix Scroll Text (Прокручування тексту на матриці)

 

await scrollMatrixText('hi mom!', { r: 66, g: 56, b: 255 }, 30, true) відображає рядок тексту. 

Ви також можете використовувати конструктор рядків для включення або конкатенації змінних та значень сенсорів. 

Ви обмежені 25 ASCII-символами, одним кольором тексту та можете встановити швидкість кадрів від 1 до 30. 

Ви можете використовувати оператор buildString() для конкатенації динамічних рядків і значень. 

Коли починається прокручування тексту, використання true змусить програму чекати завершення прокручування перед тим, як перейти до наступної команди, тоді як використання false дозволить програмі негайно перейти до наступної команди.

Matrix Clear (Очистка матриці)

 

Matrix Clear (Очистка матриці)

 

clearMatrix() очищає матрицю, вимикаючи всі світлодіоди матриці. 

Наприклад, це корисно, якщо ви хочете змінити відображення з playMatrixAnimation(x) на setMainLed().

Matrix Rotate (Поворот матриці)

 

Matrix Rotate (Поворот матриці)

 

setMatrixRotation(MatrixRotation.0) обертає напрямок відображення матриці для всіх наступних анімацій і прокручуваних текстів. 

0° — це стандартний напрямок, в якому точка початку (0, 0) знаходиться в лівому нижньому куті матриці. 90° — вправо, 270° — вліво, 180° — вниз головою.

 

Matrix Rotate (Поворот матриці)

 

Matrix Animation Controls (Контроль анімацій матриці)

 

Matrix Animation Controls (Контроль анімацій матриці)

 

pauseMatrixAnimation() ставить на паузу анімацію або прокручування тексту. 

Використовуйте resumeMatrixAnimation(), щоб відновити анімацію після паузи і почати з останнього кадру.

Matrix Frame Rate (Частота кадрів матриці)

 

Matrix Frame Rate (Частота кадрів матриці)

 

overrideMatrixAnimationFramerate() встановлює частоту кадрів для всіх наступних анімацій від 1 до 30 кадрів на секунду. 

Ця частота перевизначає частоту кадрів, встановлену в визначенні анімації. 

Встановіть overrideMatrixAnimationFramerate(0), щоб вимкнути це перевизначення та використовувати стандартну частоту кадрів для наступних анімацій матриці у вашій програмі.

Matrix Transition (Перехід між анімаціями матриці)

 

Matrix Transition (Перехід між анімаціями матриці)

 

overrideMatrixAnimationTransition(MatrixAnimationTransition.Fade) встановлює перехід між кадрами анімації, щоб використовувати ефект згасання, а overrideMatrixAnimationTransition(MatrixAnimationTransition.None) встановлює перехід без згасання. 

Цей перехід перевизначає тип, встановлений для наступних анімацій матриці. 

Встановіть overrideMatrixAnimationTransition(), щоб вимкнути це перевизначення і використовувати стандартний перехід для наступних анімацій. 

Коли використовується перехід згасання, кольори світлодіодів матриці будуть згасати між кожним кадром. Цей ефект не буде помітним, якщо частота кадрів висока (наприклад, 30 кадрів на секунду), але буде помітний при низькій частоті кадрів. 

Коли частота кадрів низька, ви побачите, як кожен колір світлодіода зливається з кольором, встановленим у наступному кадрі.

Matrix Character (Символ на матриці)

 

Matrix Character (Символ на матриці)

 

setMatrixCharacter() відображає один ASCII-символ на світлодіодній матриці, вказуючи колір. 

Наприклад, використовуйте setMatrixCharacter('z', { r: 255, g: 255, b: 255 }), щоб відобразити "z" білим кольором.

Matrix Draw (Малювання на матриці)

Ви можете програмно малювати пікселі, лінії та заповнені області на матриці за допомогою цих трьох команд: 

 

Matrix Draw (Малювання на матриці)

 

drawMatrixPixel({ r: 0, g: 0, b: 255 }, { x: 2, y: 3 }) малює один піксель на координатах (x, y) (2, 3). 

 

Matrix Draw (Малювання на матриці)

 

drawMatrixLine({ r: 0, g: 0, b: 255 }, { x: 2, y: 3 }, { x: 2, y: 7 }) малює лінію від координат (x, y) (2, 3) до (x, y) (2, 7). 

Лінії можна малювати тільки між прямими або діагональними з'єднаннями пікселів. Якщо ви надасте пікселі, які не є в лінії, нічого не буде намальовано. 

 

Matrix Draw (Малювання на матриці)

 

drawMatrixFill({ r: 0, g: 0, b: 255 }, { x: 0, y: 1}, { x: 6, y: 7 }) малює заповнений кольоровий прямокутник від координат (x, y) (0, 1) до (x, y) (6, 7).