[Из песочницы] Простая игровая тв-приставка на Arduino
Функции установки режима Функция begin () инициализирует вывод видеосигнала (разрешение экрана по умолчанию 128×96).Синтаксис: TVOut.begin (mode); TVOut.begin (mode, x, y); Параметры: mode — стандарт видеосигнала:_PAL — режим PAL;_NTSC — режим NTSC.Возвращаемое значение:0 — в случае удачного соединения, 4 — в случае неудачи (недостаточно памяти для буфера вывода).Функции задержки Функция delay () осуществляет задержку выведенного изображения.Синтаксис: TVOut.delay (ms); Параметры:
ms — задержка в мс с точностью: 20 мс для PAL и 16 мс для NTSC.
Функция delay_frame () осуществляет задержку выведенного изображения.Синтаксис:
TVOut.delay_frame (frames); Параметры:
frames — количество кадров для задержки…Функция полезна для сведения к минимуму или устранения на мерцание экрана, вызванные обновлением экрана.
Функции получения параметров Функция hres () возвращает горизонтальное разрешение экрана.Синтаксис: TVOut.hres (); Параметры:
нет.Возвращаемое значение:
unsigned char — горизонтальное разрешение экрана.
Функция vres () возвращает вертикальное разрешение экрана.Синтаксис:
TVOut.vres (); Параметры:
нет.Возвращаемое значение:
unsigned char — вертикальное разрешение экрана.
Функция char_line () возвращает максимально возможное количество символов в одной строке при выводе текстовой информации.Синтаксис:
TVOut. char_line (); Параметры:
нет.Возвращаемое значение:
unsigned char — количество символов.
Основные графические функции Функция set_pixel () устанавливает цвет пикселя экрана в точке с заданными координатами.Синтаксис: TVOut.set_pixel (x, y, color); Параметры:
x, y — координаты пикселя; color — цвет пикселя:0 — черный;1 — белый;2 — инвертировать цвет.Функция get_pixel () получает цвет пикселя экрана из точки с заданными координатами.Синтаксис:
TVOut.get_pixel (x, y); Параметры:
x, y — координаты пикселя.Возвращаемое значение:
color — цвет пикселя:0 — черный;1 — белый;2 — инвертировать цвет.Функция fill () заполняет экран заданным цветом.Синтаксис:
TVOut.fill (color); Параметры:
color — цвет заполнения:0 — черный;1 — белый;2 — инвертировать цвет.Функция clear_screen () очищает экран, заполняя заданным цветом.Синтаксис:
TVOut.clear_screen (color); Параметры:
color — цвет заполнения:0 — черный;1 — белый;2 — инвертировать цвет.
Функция invert () инвертирует содержимое экрана.Синтаксис:
TVOut.invert (); Параметры:
нет.Функция shift_direction () сдвигает содержимое экрана.Синтаксис:
TVOut.shift_direction (distance, direction); Параметры:
distance — расстояние для сдвига содержимого экрана.direction — направление сдвига: UP=0 — вверх; DOWN=1 — вниз; LEFT=2 — влево; RIGHT=3 — вправо.
Функция draw_line () соединяет на экране линией две точки.Синтаксис:
TVOut.draw_line (x0, y0, x1, y1, color); Параметры:
x0, y0 — координаты первой точки; x1, y1 — координаты второй точки; color — цвет заполнения:0 — черный;1 — белый;2 — инвертировать цвет.Функция draw_row () заполняет строку указанным цветом между двумя точками строки.Синтаксис:
TVOut.draw_row (row, x0, x1, color); Параметры:
row — вертикальная координата строки; x1, x2 — горизонтальный координаты точек строки; color — цвет заполнения:0 — черный;1 — белый;2 — инвертировать цвет.Функция draw_column () заполняет строку указанным цветом между двумя точками столбца.Синтаксис:
TVOut.draw_column (column, y0, y1, color); Параметры:
column — горизонтальная координата столбца; y1, y2 — вертикальные координаты точек столбца; color — цвет заполнения:0 — черный;1 — белый;2 — инвертировать цвет.Функция draw_rect () рисует на экране прямоугольник.Синтаксис:
TVOut.draw_rect (x, y, w, h, color); TVOut.draw_rect (x, y, w, h, color, fillcolor); Параметры:
x, y — координаты левой верхней точки; w, h — ширина и высота рисуемого прямоугольника; color — цвет границ прямоугольника:0 — черный;1 — белый;2 — инвертировать цвет.fillcolor — цвет заполнения прямоугольника:0 — черный;1 — белый;2 — инвертировать цвет.Функция draw_circle () рисует на экране круг.Синтаксис:
TVOut.draw_ circle (x, y, r, color); TVOut.draw_ circle (x, y, r, color, fillcolor); Параметры:
x, y — координаты центра круга; r — радиус круга; color — цвет границ круга:0 — черный;1 — белый;2 — инвертировать цвет.fillcolor — цвет заполнения круга:0 — черный;1 — белый;2 — инвертировать цвет.Функция bitmap () выводит на экран растровое изображение.Синтаксис:
TVOut.bitmap (x, y, bmp, w, h); Параметры:
x, y — координаты левого верхнего угла точки вывода; bmp — указатель на массив памяти, где хранится картинка; w, h — ширина, высота выводимого изображения; Ниже рассмотрим процесс создания кода выводимых растровых изображений.
Функции вывода текстовой информации Для применения функций вывода текстовой информации требуетя подключение файлов с включенными в библиотеку или пользовательскими шрифтами. Для подключения пользовательского набора шрифтов необходимо в скетче подключить заголовочный файл:#includeВ состав библиотеки включены следующие наборы шрифтов: font4×6; font6×8; font8×8; font8×8ext.Функция select_font () выбирает шрифт для вывода текстовой информации.Синтаксис:
TVOut.select_font (font); Параметры:
font — шрифт, подключенный в скетче.
Функция print_char () выводит символ на экран.Синтаксис:
TVOut.print_char (x, y, char); Параметры:
x, y — позиция на экране для вывода символа; char — символ из текущего шрифта.
Функция set_cursor () устанавливает позицию курсора для вывода текстовой информации на экран.Синтаксис:
TVOut.set_cursor (x, y); Параметры:
x, y — координаты для курсора.Функция print () выводит на экран строку, символ или число.Синтаксис:
TVOut.print (x, y, string); TVOut.print (x, y, char, base); TVOut.print (x, y, int, base).Параметры:
x, y — координаты курсора.base — формат вывода: BYTE = 0; DEC = 10 (default); HEX = 16.
Функция println () выводит на экран строку, символ или число и в конце символ перевода строки: Синтаксис:
TVOut.println (x, y, string); TVOut.println (x, y, char, base); TVOut.println (x, y, int, base).Параметры:
x, y — координаты курсора.base — формат вывода: BYTE = 0; DEC = 10 (default); HEX = 16.
Функции вывода аудио Функции вывода звука позволяют отправлять на телевизор через аудиовыход сигнал определенной частоты.Функция tone () выдает аудиосигнал определенной частоты.Синтаксис: TVOut.tone (frequency, duration); TVOut.tone (frequency).Параметры:
frequency — частота аудиосигнала; duration — длительность сигнала.Функция noTone () прекращает выдачу аудиосигнала.Синтаксис:
TVOut.noTone ().