pixelbox
Version:
A framework to fast-prototype pixel-based games
41 lines (33 loc) • 1.79 kB
JavaScript
var createCanvas = require('../domUtils/createCanvas');
var CHAR_WIDTH = 4;
var CHAR_HEIGHT = 6;
var MINITEXT = [
// 219, 438, 511, 14016, 14043, 14326, 14335, 28032, 28123, 28086, 28159, 32704, 32731, 32758, 32767, 128,
// 146, 384, 402, 9344, 9362, 9600, 9618, 192, 210, 448, 466, 9408, 9426, 9664, 9682, 32767,
0, 8338, 45, 11962, 5588, 21157, 29354, 10, 17556, 5265, 21973, 1488, 5312, 448, 13824, 5268,
31599, 29843, 29671, 31143, 18925, 31183, 31689, 18735, 31727, 18927, 1040, 5136, 17492, 3640, 5393, 8359,
25450, 23530, 31467, 25166, 15211, 29391, 4815, 27470, 23533, 29847, 15142, 23277, 29257, 23421, 23403, 11114,
4843, 26474, 23279, 14798, 9367, 27501, 12141, 24429, 23213, 14829, 29351, 25750, 17553, 13459, 9402, 28672,
34, 23530, 31467, 25166, 15211, 29391, 4815, 27470, 23533, 29847, 15142, 23277, 29257, 23421, 23403, 11114,
4843, 26474, 23279, 14798, 9367, 27501, 12141, 24429, 23213, 14829, 29351, 25686, 9362, 13587, 42, 21845
];
//▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
function createDefaultCharsetImage() {
var canvas = createCanvas(64, 36);
var ctx = canvas.getContext('2d');
ctx.fillStyle = '#FFF';
for (var c = 0; c < MINITEXT.length; c++) {
var code = MINITEXT[c];
var i = c % 16;
var j = ~~(c / 16);
for (var bit = 0; bit < 15; bit++) {
var x = bit % 3;
var y = ~~(bit / 3);
var pixel = (code >> bit) & 1;
if (pixel !== 1) continue;
ctx.fillRect(i * CHAR_WIDTH + x, j * CHAR_HEIGHT + y, 1, 1);
}
}
return canvas;
}
module.exports = createDefaultCharsetImage;