§ Код для встраивания
Для того, чтобы что-то работало, есть библиотека, которую надо скачать и запустить. А вот и основной обрабатывающий код для этого шаблона. Библиотека может со временем дополняться новыми функциями.Файл app.js:
1class App extends Dos2D { 2 3 init() { 4 5 this.cls(); 6 7 for (let y = 0; y < 200; y++) 8 for (let x = 0; x < 320; x++) 9 this.pset(x, y, this.dos((x*x + y*y) >> 8)); 10 11 this.circle(160,100,50, this.dos(10)); 12 this.circle(160,100,40, 0x0080ff, 1); 13 this.line(0,0,320,200, 0x00ffff); 14 15 this.font(8).locate(15,20).print("HELLO WORLD"); 16 } 17 18 loop() { } 19} 20 21// Обновление canvas.id=viewport раз в 100 мс 22new App(100);
§ Доступные функции и описание
Методы-
dos(id)
— цвет из палитры, от 0 до 255 -
cls(cl = 0)
— очистка экрана, если параметр опущен, то очищается в черный цвет -
pset(x,y,color)
— установка точки -
point(x,y,color)
— цвет точки -
line(x1,y1,x2,y2,color)
— рисование линии -
circle(x,y,radius,color[,fill])
— рисование окружности с центром (x,y), заданным радиусом и цветом; если fill=1, то окружность закрашивается -
block(x1,y1,x2,y2,cl)
— рисовать сплошной блок
-
font(height)
— выбор высоты шрифта 8 или 16 -
locate(x,y)
— установка курсора по x,y; устанавливается по знакоместам, но допускаются дробные числа -
color(fore,back)
— цвет шрифта и цвет фона при печати строки, если цвет null - то не печатается такой -
print(str)
— печать строки в телетайп-режиме -
print_font(x, y, ch, phantom = 0)
— печатается символ ch (число или строка), позиция в (x,y); при указании phantom не печатает на экран, а выводит как массив 8x16 или 8x8 на выходе -
copy(buf)
— копирование буфера из массива в видеопамять
-
dim2(cols, rows, value = 0)
— создается двухмерный массив -
irand(f, t)
— случайное целое от f до t -
trand()
— псевдослучайное целое РСЛОС по методу Гендальфа -
measure(t)
— профилировщик, measure() начало, measure(1) конец отсчета, выдача в Console -
set_timeout(t)
— поменять время таймаута фрейма -
prevent()
— запретить распространение события по документу -
load_image(src)
— загрузка изображения в документ, результатом функции будет объект изображения
-
init()
— вызывается сразу после запуска -
loop()
— при каждом обновлении фрейма через некоторый таймаут -
on_mouse_down()
— при клике мышкой по canvas -
on_mouse_up()
— при отпускании мышки -
on_mouse_move()
— при любом движении -
on_key_down(e)
— при нажатии клавиши -
on_key_up(e)
— при отпускании -
on_contextmenu(e)
— клик правой кнопкой на canvas
-
this.mouse = {x:x, y:y, btn:кнопки мыши}
-
this.keyboard = {key:клавиша, press:0|1}