Переменные PaperJS, как я могу хранить их в MongoDB? - PullRequest
0 голосов
/ 28 июня 2018

Я учусь кодировать и создал проект, используя PaperJS.

У меня есть функция, которая обновляет общий счет и отображает его в верхней части страницы.

function updateScore(){
  text.content = 'Circles Cleared: ' + total;
  text.bringToFront();
}

Итого - моя переменная, содержащая текущий счет. Я изо всех сил пытаюсь использовать это где-нибудь еще в моем коде / отправить его на MongoDB, потому что кажется, что переменная не является глобальной? Я написал inline paperscript в файле HTML.

Я пытался добавить итог к форме и отправить форму, сделав вызов POST, но он продолжает возвращаться, так как итог не определен.

Даже в console.logging общая сумма не появляется после завершения вызова POST.

Любая помощь приветствуется, спасибо заранее.

1 Ответ

0 голосов
/ 19 октября 2018

Ваша основная проблема заключается в том, что код PaperScript выполняется в другом объеме, чем ваш код JavaScript.
Чтобы разделить переменные между обоими, проще всего использовать Paper.js непосредственно в JavaScript (см. документация ).
Вот упрощенный рабочий пример описанного вами случая (итоговое значение отображается через Paper.js на холсте).

// setup paperjs
paper.setup(document.getElementById('canvas'));

// init total variable
var total = 0;

// init total text item
var totalText = new paper.PointText({
  point: paper.view.center,
  justification: 'center'
});

displayTotal();

// listen to button click
$('button').click(function() {
  // increment total variable
  total += 100;
  // display total
  displayTotal();
});

function displayTotal() {
  totalText.content = 'total = ' + total;
}
html,
body {
  margin: 0;
  overflow: hidden;
  height: 100%;
}

canvas[resize] {
  width: 100%;
  height: 100%;
}

button {
  position: fixed;
  top: 15px;
  left: 15px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.11.5/paper-core.min.js"></script>

<canvas id="canvas" resize></canvas>
<button>increment total</button>
...