Lua = оператор как печать

Вы можете использовать генераторную функцию , чтобы заранее определить анимацию - простите плохой код, это просто чтобы дать вам идею:

const canvas = document.querySelector("canvas");
const ctx = canvas.getContext("2d");

// here we create a generator function,
// where we define each step:
function* rect(ctx, x, y, x2, y2) {  
  // top line
  for (let k = x; k <= x2; k++) {
    ctx.lineTo(k, y);
    yield;
  }

  // right line
  for (let j = y; j <= y2; j++) {
    ctx.lineTo(x2, j);
    yield;
  }

  // bottom line
  for (let k = x2; k >= x; k--) {
    ctx.lineTo(k, y2);
    yield;
  }

  // left line
  for (let j = y2; j >= y; j--) {
    ctx.lineTo(x, j);
    yield;
  }
}

const steps = rect(ctx, 10, 10, 80, 90);
ctx.strokeStyle = "black"

function draw () {
  if (!steps.next().done){
    ctx.stroke();
  } else {
    // here the animation is done
    ctx.fill();
  }

  // 60 fps
  requestAnimationFrame(draw); 
}

draw();

5
задан Drealmer 2 January 2009 в 17:17
поделиться

4 ответа

Заключение в кавычки страницы справочника:

В интерактивном режиме... Если строка запускается с '=', то lua отображает значения всех выражений в остатке от строки. Выражения должны быть разделены запятыми.

15
ответ дан 18 December 2019 в 08:32
поделиться

Я думаю, что это должно быть функцией одинокого интерпретатора. Я не могу сделать ту работу ни над чем, во что я скомпилировал lua.

3
ответ дан 18 December 2019 в 08:32
поделиться

Присвоение не является выражением, которое возвращает что-то в Lua как он находится в C.

0
ответ дан 18 December 2019 в 08:32
поделиться

Я не назвал бы это функцией - интерпретатор просто возвращает результат оператора. Это - его задание, не так ли?

1
ответ дан 18 December 2019 в 08:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: