← Piezas de nivel 2Objeto 3Dfogon/nivel-medio-bloque-piedra
Medio bloque de piedra
Arrastrá para girarlo// «Medio bloque de piedra» · gpt-6-sol (medium)
// A half-height modular block: a full 48x48 footprint (x 0..47, y 0..47) but only 24 tall (z 0..23), a solid box with flat vertical sides and a flat top so it stacks and tiles seamlessly. Light grey stone bricks in 3 shades, brick rows 6 tall staggered with dark mortar lines on all four sides, flat clean top.
// Solid, tileable 48 × 48 × 24 stone-brick block.
box(0, 0, 0, 47, 47, 23, "#bfc7ca");
const stone = ["#cbd2d4", "#bec7ca", "#afb9bd"];
const mortar = "#78858a";
function brickColor(position, row, face) {
const brick = Math.floor((position + (row % 2 ? 6 : 0)) / 12);
return stone[Math.abs(brick * 17 + row * 11 + face * 7) % 3];
}
for (let z = 0; z < 23; z++) {
const row = Math.floor(z / 6);
const offset = row % 2 ? 6 : 0;
for (let p = 0; p < 48; p++) {
const joint = (p - offset + 48) % 12 === 0;
const isMortar = z % 6 === 0 || joint;
set(p, 0, z, isMortar ? mortar : brickColor(p, row, 0));
set(p, 47, z, isMortar ? mortar : brickColor(p, row, 1));
set(0, p, z, isMortar ? mortar : brickColor(p, row, 2));
set(47, p, z, isMortar ? mortar : brickColor(p, row, 3));
}
}
// Uniform, perfectly flat stacking surface.
box(0, 0, 23, 47, 47, 23, "#d8ddde");import { draw } from "./assets/voxel";
import { nivelMedioBloquePiedra } from "./assets/nivel-medio-bloque-piedra";
// En cada cuadro: parado sobre (x, y), el centro de su base.
draw(ctx, nivelMedioBloquePiedra, x, y, { size: 64, angle: 0, t: performance.now() / 1000 });
// size: lo que mide en px su lado más largo
// angle: giro sobre el piso, en radianes
// t: segundos; si se mueve, se anima solo con eso# En una terminal, en la carpeta del juego
fogon assets add nivel-medio-bloque-piedra
# Con las herramientas de Fogón (conector)
add_assets({ slug: "<tu-juego>", ids: ["nivel-medio-bloque-piedra"] })
# Queda en client/assets/nivel-medio-bloque-piedra.ts
# https://fogon.page/object/nivel-medio-bloque-piedra