Инкремент оценки холста затем очищается - PullRequest
0 голосов
/ 11 ноября 2018

Я хочу обновлять счет каждый раз, когда происходит столкновение. Счет правильно добавляет 1 и становится Оценка: 1 для кадра, а затем возвращается к 0. Я не могу понять, почему счет очищается и сбрасывается в ноль вместо увеличения во время каждого столкновения.

// text
c.fillStyle = "#ffff00";
c.font = "30px Arial";
c.fillText("Score: 0 ", 10, 50);

var score = 0;
var scorevalue = 0;

// collision detection

if (dy >= 400 && (padxpos + 90 >= dx && padxpos <= 220)){
    t = 0;
    t += 0.1;
    dy = dyi + viy*t - (ay*t*t)/2;
    c.fillStyle = "#ffff00";
    c.font = "30px Arial";
    updateScore();
    }

// update score

function updateScore(){

    c.clearRect(0, 0, canvas.height, canvas.width);
    c.fillStyle = "#ff0000";
    c.fillRect(0, 0, canvas.width, canvas.height);
    c.fillStyle = "#ffff00";
    c.font = "30px Arial";
    scorevalue = ++score;
    c.fillText("Score: " + scorevalue, 10, 50);
    }

1 Ответ

0 голосов
/ 12 ноября 2018

На случай, если кто-нибудь еще наткнется на эту же ошибку ...

В исходном тексте заполнения у меня было это

c.fillText("Score: 0 ", 10, 50);

, поэтому каждый раз, когда счет обновлялся, c.filltext рисовал ноль, хотя счет увеличивался должным образом. Все, что мне нужно было сделать, это заполнить исходный текст переменной. Простая ошибка, которая заняла целую вечность.

c.fillText("Score: " + scorevalue, 10, 50);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...