Canvas probleme

Résolu/Fermé
iamtheone Messages postés 39 Date d'inscription lundi 10 avril 2017 Statut Membre Dernière intervention 8 mai 2017 - Modifié le 29 avril 2017 à 11:52
 Utilisateur anonyme - 29 avril 2017 à 23:59
Bonjour,
Je suis en train d'apprendre les canvas, pour celà je veux creer un jeu style flappy bird. Et je veux donner à flappy le skin de Pacman...
function Pac(x, y) {

    this.x = x;
    this.y = y;
    this. radius = 15;
    this.color = "yellow";

    this.show = function() {
        ctx.beginPath();
            ctx.arc(this.x, this.y, this.radius, Math.PI*0.75, Math.PI*1.75);
        ctx.closePath();
        ctx.beginPath();
            ctx.arc(this.x, this.y, this.radius, Math.PI*0.25, Math.PI*1.25);
        ctx.closePath();
        ctx.fillStyle = this.color;
        ctx.fill();
}

}

function setup() {

    var canvas = document.getElementById("canvas");
        canvas.width = innerWidth;
        canvas.height = innerHeight;
            ctx = canvas.getContext("2d");

    pac = new Pac( 50, 50);

}

function draw() {

    ctx.fillStyle = "black";
    ctx.fillRect(0, 0, canvas.width, canvas.height);
    pac.show();

}

Mais voilà, la function show de l'objet Pac n'affiche que le deuxième arc... Quelle est l'erreur svp?
PS: Si quelqu'un a un lien d'une explication en français de comment mettre une gravité je suis preneur.

A voir également:

1 réponse

Utilisateur anonyme
29 avril 2017 à 23:59
Bonjour

Fill ne remplit que le path courant, c'est à dire ton deuxième arc.
Si tu veux dessiner le premier arc aussi, il faut mettre un fill avant de commencer le deuxième.
1