Peglin¶
Cet exercice permet de pratiquer la gestion de boucles for en même temps que la gestion d'une scène avec physique dans Phaser.
Changer la forme de collision ?
Oui oui on peut!
Pour ajuster la forme de collision d'un sprite à un cercle, vous pouvez utiliser la méthode setCircle() sur le body de l'objet.
this.mon_bonhomme.body.setCircle(this.mon_bonhomme.width / 2);
Si votre cercle de collision n'est pas tout à fait centré avec votre image, vous pouvez ajuster sa position avec des paramètres offset.
this.mon_bonhomme.body.setCircle(this.mon_bonhomme.width / 2, offsetX, offsetY);
Résultat attendu¶
Consignes¶
- Veuillez effectuer un fork du Codepen de départ
- Dans l'objet config, changez la gravité sur l'axe
ypour1000 - Dans la fonction
create(), ajoutez une variablethis.ballet ajoutez-y l'image "ball" à travers le système de physique - Dans la fonction
create(), ajoutez unsetBounce()de 0.9 à la variablethis.ball - Dans la fonction
create(), appliquez une vélocité aléatoire à la variablethis.ball - Dans la fonction
create(), modifiez la forme de collision de la balle pour un cercle - Dans la fonction
create(), à l'aide de deux bouclesfor, positionnez des obstacles à peu près comme dans le « Résultat attendu » - Dans la boucle
forimbriquée, chaque nouvel obstacle doit être immobile, non affecté par la gravité et avoir une forme de collision en cercle - Dans la boucle
forimbriquée, ajoutez lecolliderentrethis.ballet chaque obstacle - Dans la fonction
update(), ajoutez la méthode wrap-around avec physique surthis.ball - Dans l'objet config, désactivez le mode debug