Игра Brick Breaker не обновляется с неразрушенного кирпича после удара мячом - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть 2 файла PNG с неразбитым кирпичом и битым кирпичом, которые я хочу показать после первого столкновения с мячом.

Игра предназначена для рисования кирпичей в начале уровня, а затем отфильтровывать кирпичи, которые были поражены дважды. Каждое обновление должно перерисовывать кирпичи, которые все еще находятся в игре, но я изменил свою функцию рисования, включив в нее оператор switch, который должен отображать либо сломанный, либо неразрушенный кирпич в зависимости от того, был ли он поражен, но он не работает.

Похоже, что функция draw не отвечает на оператор switch, потому что я попытался изменить логические значения, чтобы посмотреть, смогу ли я заставить игру просто нарисовать битый кирпич, но он по-прежнему отображает кирпичный кирпич.

Я могу отобразить битый кирпич, только когда исключу оператор switch и drawImage с помощью this.brickBroken.

мой кирпич. js файл отделен от игры. js, поэтому Возможно, мне не хватает некоторых деталей, которые сообщают игре. js файл, который необходим для отображения битого кирпича, но, похоже, я должен иметь возможность обновить отображаемый файл кирпича png из функции draw в кирпиче. js .

Чего мне не хватает?

Вот соответствующий файл. js file.

dra w (ctx) {

    switch (this.hitBrick) {
        case true:
            ctx.drawImage(
                this.brickBroken, 
                this.position.x,
                this.position.y,
                this.width, 
                this.height);

        case false: 
        ctx.drawImage(
            this.brickUnbroken, 
            this.position.x,
            this.position.y,
            this.width, 
            this.height); 
    }
}







update(deltaTime) {
    if(detectCollision(this.game.ball, this )) {
        this.game.ball.speed.y = - this.game.ball.speed.y;

        if (this.hitBrick === true) this.markedForDeletion = true;

        this.hitBrick = true;

    }

}
...