Je veux supprimer un objet que j'ai créé, (un ovale qui vous suit), mais comment faire ?
delete follower1;
n'a pas fonctionné.
EDIT :
Ok, je vais donner un peu plus de contexte. Je suis en train de créer un petit jeu avec un ovale que vous pouvez contrôler, et un ovale qui vous suit. Maintenant j'ai des fichiers nommés : DrawPanel.class, cette classe dessine tout sur l'écran, et gère les collisions, les sons, etc. J'ai un ennemi.class, qui est l'ovale qui suit le joueur. J'ai une entity.class, qui est le joueur que vous pouvez contrôler. Et si le joueur croise le suiveur, je veux que mon objet joueur soit supprimé. La façon dont je le fais :
public void checkCollisions(){
if(player.getBounds().intersects(follower1.getBounds())){
Follower1Alive = false;
player.health = player.health - 10;
}
}
1 votes
pouvez-vous fournir un peu plus de contexte ?
2 votes
Il n'y a pas de suppression d'objets en Java. Mais vous n'avez normalement pas besoin de le faire : ce dont vous avez besoin, c'est de vous assurer que plus rien n'est affiché à l'écran (si c'est ce que fait "vous suivre").
0 votes
Peut-être voulez-vous essayer de forcer le ramasseur de déchets à supprimer un objet ? Il existe une question à ce sujet. ici déjà. Ou peut-être essayez-vous quelque chose d'autre ? Vous pouvez essayer de lire un peu sur le ramasseur de déchets. ici ou ici Si cela ne vous aide toujours pas, vous devrez être plus précis.
0 votes
duplicata possible de Force la suppression explicite d'un objet Java
0 votes
Si vous voulez vraiment vraiment gérer les allocations d'objets manuellement, utilisez JNI : créez une librairie C/C++ qui est utilisée par le code Java mais qui fait tout (création, suppression, etc.) par elle-même - mais à l'intérieur de votre librairie vous avez du code C/C++, pas de Java. Je n'ai pas vu de moyen de supprimer manuellement un objet Java. Si votre profiler vous dit qu'il y a des problèmes, ces problèmes sont souvent basés sur des références "oubliées" à des objets. Dans votre cas, il ne semble y avoir de problème nulle part.