Matrix animation effect in JavaScript using Canvas

npm install cmatrix
You can use CDN:
<script src="https://cdn.jsdelivr.net/npm/cmatrix"></script>
and intialize the effect.
matrix(canvasElement, {
chars: ['0', '1'],
font_size: 16
}).
matrix(canvasElement, {
chars: matrix.range(0x30A1, 0x30F6).concat(matrix.range(0x0030, 0x0039)),
font_size: 16
}).
The matrix function return a Promise that is resolved when exit.
By default, q and ESC exit from the effect. Use exit: false to disable ending of the animation.
chars - array of single character strings, by default Katagana and Hiragana (Japanese characters are used).exit - by default matrix return a promise that resolves when it ends (when someone press q or ESC)
this option when set to false will disable this and the function return undefined.color - default color - default is #0f0.width - width of the Canvas, default full screen.height - height of the Canvas, default full screen.resize - if the size is constant (you specify the width and height options) you should set it to false.background - by default it’s set rgba(0, 0, 0, 0.05) alpha is required for the effect to look good.font_size - number the default is 14.mount: (matrix) => void - callback function which is executed with single argument that is instance of internal Matrix object when initializing.unmount: (matrix) => void - callback function which is executed when Matrix effect is destroyed.font - name of the font (default monospace).start() - start the animationstop() - stop the animationresize(width, height) - resize the canvas to the given width and heightclear() - clear the canvasreset() - reset the internal state the effectfullscreen() - toggle fullscreenrender() - render single frame using internal statematrix.range(start_number, end_number) - returns characters created from given range. Use matrix.range(0x30A1, 0x30F6) for Katagana characters and matrix.range(0x3041, 0x3096) for Hiragana, they look nice as matrix rain.matrix.custom_chars - array containing all characters for custom matrix font in this repository.width, heigth, resize optionsmatrix.custom_chars that contains all characters for for custom matrix font.fullscreen() methodmount and unmount optionexit/color/background optionsCopyright (C) 2021-2023 Jakub T. Jankiewicz
Released under MIT License