可信源码风险提示:保存或下载前请阅读源码和权限声明。
function main() {
var state = {
running: true
};
var pixels = ui.signal([]);
function randomColor() {
var r = Math.floor(Math.random() * 256);
var g = Math.floor(Math.random() * 256);
var b = Math.floor(Math.random() * 256);
var hex = "#";
var arr = [r, g, b];
for (var i = 0; i < arr.length; i++) {
var s = arr[i].toString(16);
if (s.length < 2) {
s = "0" + s;
}
hex += s;
}
return hex;
}
function makePixels() {
var list = [];
for (var i = 0; i < 256;i++) {
list.push(randomColor());
}
pixels.set(list);
}
function renderGrid() {
var list = pixels.get();
var rows = [];
var index = 0;
for (var y = 0; y < 10; y++) {
var cols = [];
for (var x = 0; x < 10; x++) {
cols.push(
ui.text("■", {
color: list[index]
})
);
index++;
}
rows.push(ui.row(cols));
}
return ui.column(rows);
}
function render() {
return [
ui.heading("随机色块"),
renderGrid(),
ui.button(
state.running ? "停止" : "开始",
function () {
state.running = !state.running;
ui.refresh();
}
)
];
}
makePixels();
ui.render(render);
setInterval(function () {
if (!state.running) {
return;
}
makePixels();
ui.refresh();
}, 100);
}
main();