Maison >Java >javaDidacticiel >Comment la méthode `move()` modifiée empêche-t-elle les objets étoiles de quitter le cadre ?

Comment la méthode `move()` modifiée empêche-t-elle les objets étoiles de quitter le cadre ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-29 07:11:09277parcourir

How Does the Modified `move()` Method Prevent Star Objects from Leaving the Frame?

La méthode move() de la classe Star est utilisée pour déplacer les objets étoiles sur l'écran. La mise en œuvre originale de cette méthode ne gérait pas correctement le cas où l’étoile se déplacerait en dehors des limites du cadre. Cela pourrait entraîner la disparition de l’étoile ou son chevauchement avec d’autres étoiles, ce qui ne serait pas le comportement souhaité. La version modifiée de la méthode move() résout ce problème en vérifiant si l'emplacement de l'étoile est en dehors des limites du cadre et en inversant la direction du mouvement si nécessaire. Cela garantit que les étoiles resteront toujours dans les limites du cadre et ne se chevaucheront pas.

Voici la version modifiée de la méthode move() :

public void move() {
    if (location.x < 0 || location.x > frame.getContentPane().getWidth() - 20) {
        xIncr = -xIncr;
    }
    if (location.y < 0 || location.y > frame.getContentPane().getHeight() - 20) {
        yIncr = -yIncr;
    }
    translate(xIncr, yIncr);
    location.setLocation(location.x + xIncr, location.y + yIncr);
}

Dans Dans cette version modifiée, nous avons ajouté des contrôles pour voir si l'emplacement de l'étoile est en dehors des limites du cadre. Si l'emplacement de l'étoile est en dehors des limites du cadre, nous inversons la direction du mouvement afin que l'étoile revienne dans le cadre. Cela garantit que les étoiles resteront toujours dans les limites du cadre et ne se chevaucheront pas.

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!

Déclaration:
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