Pourquoi ma balle de pong vacille-t-elle au lieu de rebondir sur la raquette ?

Patricia Arquette
Libérer: 2024-11-09 03:42:01
original
328 Les gens l'ont consulté

Why Does My Pong Ball Wobble Instead of Bouncing Off the Paddle?

La balle ne parvient pas à rebondir sur la pagaie dans le jeu de Pong

Dans un jeu de Pong classique, les joueurs contrôlent les pagaies pour dévier une balle d'avant en arrière sur l'écran. Cependant, certains utilisateurs ont rencontré un problème où la balle ne parvient parfois pas à rebondir sur la raquette, mais vacille et glisse le long de sa surface.

Cause :

Ce problème se pose lorsque la balle entre en collision avec le bord supérieur ou inférieur de la raquette. Détecter cette collision et inverser la direction de la balle est correct. Cependant, il arrive parfois que la balle pénètre si profondément dans la raquette qu'elle reste dans la zone de collision lors de son prochain mouvement. Par conséquent, une deuxième collision est détectée, renversant à nouveau la direction de la balle, créant un effet de zigzag le long de l'avant de la raquette. Direction au lieu de multiplier la vitesse :

Au lieu de multiplier la la vitesse de la balle de -1, ce qui entraîne une inversion de sa direction, l'attribution d'une vitesse positive lorsqu'elle frappe la palette droite et une vitesse négative lorsqu'elle frappe la palette gauche produira un rebond plus cohérent.

  1. Ajuster la position de la balle :

Alternativement, ajuster la position de la balle après une collision peut garantir qu'elle reste dans les limites. Lorsque la pagaie droite est frappée, déplacez le bord droit de la balle vers la gauche de la pagaie, et vice versa pour la pagaie gauche.
if ball.colliderect(paddleLeft):
    move_x = abs(move_x)
if ball.colliderect(paddleRight):
    move_x = -abs(move_x)
Copier après la connexion

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    source:php.cn
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Derniers articles par auteur
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal