Bonsoir, mon soucis est dans le titre . J'ai créer un système de déplacements de mes images sauf que j'arrive à les déplacer en dehors de la fenêtre JFrame ...
Merci de votre futur aide
Bonsoir, mon soucis est dans le titre . J'ai créer un système de déplacements de mes images sauf que j'arrive à les déplacer en dehors de la fenêtre JFrame ...
Merci de votre futur aide
Mais encore ?
Pas de screenshots, pas de code, ca va pas être facile de t'aider jusque la...
Sinon il faut simplement contraindre les mouvements en interdisant de position les éléments en dehors de la zone permise.
(Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Excuse moi... je pensais qu'il y avait une méthode spéciale permettant de faire cela..
Methode de déplacement du personnage :
J'ai seulement en gros mon déplacement qui peut se déplacer en dehors de la fenêtre. Et j'aimerais bloqué cela et je me demande si c'est avec un système de collision puisque j'en ai un mais en faire un spécialement pour les dépassement de JFrame
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public void deplacerPerso(){ if(directionPerson == "HAUT"){ this.y -= 25; } else if(directionPerso== "BAS"){ this.y += 25; } else if(directionPerso == "DROITE"){ this.x += 25; } else if(directionPerso == "GAUCHE"){ this.x -= 25 ; } }
Bah ca n'a rien avoir une JFrame. Ce que tu cherches a faire c'est interdire de deplacer un rectangle en dehors d'un rectangle.
Il te manque donc des IF dans tes deplacement afin d'interdire le deplacement quand le rectangle va sortir du rectangle l'englobant.
Le rectangle englobant pouvant etre obtenu en demande a la Jframe (ou son contentPane) sa longueur et sa largeur.
(Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Bonsoir, je vous montre cela avec deux photos.
Alors voila je lance ma JFrame avec une image.
Je fais deux déplacements vers le haut au clavier et mon image à disparu . Seulement j'aimerais empecher c à dire que lorsque que mon image est en contact avec la fenetre il ne se passe rien comme un collision quoi.
Merci de votre aide
Bah, comme te l'a dit @Wax78, tu dois tester si les coordonnées de ton image dépassent les limites de la JFrame (que tu peux obtenir par getWith() et getHeight() ou getSize()), getW, avec des if et des < et de >.
Par exemple :
Regardes un exemple plus complet ici, dans lequel la balle est déplacée automatiquement. C'est une animation de balle qui rebondit, pas exactement contre les bords, mais contre un rectangle plus petit que la fenêtre, géré par des insets dans l'exemple (si les insets sont à 0, ça revient à rebondir contre les bords de la fenêtre).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public void deplacerPerso(){ if(directionPerson == "HAUT"){ this.y -= 25; if ( this.y<0 ) this.y=0; // ça dépasse en haut, on force le y a être au bord haut (les y vont de bas en haut de l'écran) } else if(directionPerso== "BAS"){ this.y += 25; if ( this.y+hauteurPerso>getHeight() ) this.y=getHeight()-hauteurPerso; // ça dépasse en bas, on force le y à être au bord bas (hauteurPerso c'est la hauteur de ton image) } ...
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Partager