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
y
pour1000
- Dans la fonction
create()
, ajoutez une variablethis.ball
et 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
for
imbriquée, chaque nouvel obstacle doit être immobile, non affecté par la gravité et avoir une forme de collision en cercle - Dans la boucle
for
imbriquée, ajoutez lecollider
entrethis.ball
et 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