8b
64x64 • 1 frame • 8 FPS
Size×
AI Pixel Studio
1 credit per generationResets in ~24h
✨ HD Detail
Generation History (0)
Generated sprites and animations appear here.
Brush
7px
Frames (1)Active: #1
Canvas CTX JavaScript
103 lines
// ============================================================
// my sprite — 64x64 pixel sprite, 1 frame
// Made with the Ctx Asset Creator. Paste this into your game.
// ============================================================
const MY_SPRITE = {
w: 64,
h: 64,
fps: 8,
// Every letter is a colour. A dot "." means "leave this pixel see-through".
palette: {
// (empty sprite — go draw something!)
},
frames: [
// frame 1
[
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
"................................................................",
],
],
};
// Draws one frame. scale = how many screen pixels wide each sprite pixel is.
function drawMySprite(ctx, x, y, scale = 4, frame = 0) {
const rows = MY_SPRITE.frames[frame % MY_SPRITE.frames.length];
for (let row = 0; row < rows.length; row++) {
for (let col = 0; col < rows[row].length; col++) {
const colour = MY_SPRITE.palette[rows[row][col]];
if (!colour) continue; // a "." — skip it so the background shows through
ctx.fillStyle = colour;
ctx.fillRect(x + col * scale, y + row * scale, scale, scale);
}
}
}
// ── How to use it in your game loop ──
// drawMySprite(ctx, 100, 80, 4);