Bonjour,
Je suis en classe de terminale, et j'ai comme devoir de créer un jeu, j'ai donc décidé, avec mon camarade, de faire un jeu inspiré de Space Invaders. Nous bloquons actuellement sur la création de deux boutons, "Play" et "Score". En effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A et la zone B, pour chacun des boutons), fasse un évènement (lancer le jeu ou afficher le tableau des meilleurs scores), nous avons posé la question à notre professeur, qui nous a renvoyé à un tp déjà réalisé, mais ce tp n'est en réalité pas en rapport avec ce que l'on souhaite faire (car il utilise les KeyListeners).
Merci d'avoir lu jusqu'ici :)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
David Larochette
Le 07/05/2020 à 00:21, BKCelia a écrit :
Bonjour, Je suis en classe de terminale, et j'ai comme devoir de créer un jeu, j'ai donc décidé, avec mon camarade, de faire un jeu inspiré de Space Invaders. Nous bloquons actuellement sur la création de deux boutons, "Play" et "Score". En effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A et la zone B, pour chacun des boutons), fasse un évènement (lancer le jeu ou afficher le tableau des meilleurs scores), nous avons posé la question à notre professeur, qui nous a renvoyé à un tp déjà réalisé, mais ce tp n'est en réalité pas en rapport avec ce que l'on souhaite faire (car il utilise les KeyListeners). Merci d'avoir lu jusqu'ici :)
Il faut pour cela utiliser les MouseEvents, qui sont implémentés au niveau de java.awt.Component, dont héritent tous les composants Swing (à supposer que c'est le framework graphique que vous utilisez). La marche à suivre est d'enregistrer une classe héritant de MouseListener auprès du composant à écouter e.g. maZoneDeRendu.addMouseListener(monMouseListener); puis d'utiliser les méthodes MouseEvent.getX() et MouseEvent.getY() pour vérifier que l'évenement a bien eu lieu dans la zone désirée.
Le 07/05/2020 à 00:21, BKCelia a écrit :
Bonjour,
Je suis en classe de terminale, et j'ai comme devoir de créer un jeu, j'ai donc
décidé, avec mon camarade, de faire un jeu inspiré de Space Invaders. Nous
bloquons actuellement sur la création de deux boutons, "Play" et "Score". En
effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment
l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A et
la zone B, pour chacun des boutons), fasse un évènement (lancer le jeu ou
afficher le tableau des meilleurs scores), nous avons posé la question à notre
professeur, qui nous a renvoyé à un tp déjà réalisé, mais ce tp n'est en réalité
pas en rapport avec ce que l'on souhaite faire (car il utilise les
KeyListeners).
Merci d'avoir lu jusqu'ici :)
Il faut pour cela utiliser les MouseEvents, qui sont implémentés au
niveau de java.awt.Component, dont héritent tous les composants Swing (à
supposer que c'est le framework graphique que vous utilisez).
La marche à suivre est d'enregistrer une classe héritant de
MouseListener auprès du composant à écouter e.g.
maZoneDeRendu.addMouseListener(monMouseListener);
puis d'utiliser les méthodes MouseEvent.getX() et MouseEvent.getY() pour
vérifier que l'évenement a bien eu lieu dans la zone désirée.
Bonjour, Je suis en classe de terminale, et j'ai comme devoir de créer un jeu, j'ai donc décidé, avec mon camarade, de faire un jeu inspiré de Space Invaders. Nous bloquons actuellement sur la création de deux boutons, "Play" et "Score". En effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A et la zone B, pour chacun des boutons), fasse un évènement (lancer le jeu ou afficher le tableau des meilleurs scores), nous avons posé la question à notre professeur, qui nous a renvoyé à un tp déjà réalisé, mais ce tp n'est en réalité pas en rapport avec ce que l'on souhaite faire (car il utilise les KeyListeners). Merci d'avoir lu jusqu'ici :)
Il faut pour cela utiliser les MouseEvents, qui sont implémentés au niveau de java.awt.Component, dont héritent tous les composants Swing (à supposer que c'est le framework graphique que vous utilisez). La marche à suivre est d'enregistrer une classe héritant de MouseListener auprès du composant à écouter e.g. maZoneDeRendu.addMouseListener(monMouseListener); puis d'utiliser les méthodes MouseEvent.getX() et MouseEvent.getY() pour vérifier que l'évenement a bien eu lieu dans la zone désirée.
bkcelia
Le jeudi 07 Mai 2020 à 10:13 par David Larochette :
Le 07/05/2020 à 00:21, BKCelia a écrit :
Bonjour, Je suis en classe de terminale, et j'ai comme devoir de créer un jeu, j'ai donc décidé, avec mon camarade, de faire un jeu inspiré de Space Invaders. Nous bloquons actuellement sur la création de deux boutons, "Play" et "Score". En effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A et la zone B, pour chacun des boutons), fasse un évènement (lancer le jeu ou afficher le tableau des meilleurs scores), nous avons posé la question à notre professeur, qui nous a renvoyé à un tp déjà réalisé, mais ce tp n'est en réalité pas en rapport avec ce que l'on souhaite faire (car il utilise les KeyListeners). Merci d'avoir lu jusqu'ici :)
Il faut pour cela utiliser les MouseEvents, qui sont implémentés au niveau de java.awt.Component, dont héritent tous les composants Swing (à supposer que c'est le framework graphique que vous utilisez). La marche à suivre est d'enregistrer une classe héritant de MouseListener auprès du composant à écouter e.g. maZoneDeRendu.addMouseListener(monMouseListener); puis d'utiliser les méthodes MouseEvent.getX() et MouseEvent.getY() pour vérifier que l'évenement a bien eu lieu dans la zone désirée.
Merci beaucoup pour votre réponse, cela m'aide énormément ! Je n'avais en effet pas pensé au getX et getY. Bonne journée et merci encore.
Le jeudi 07 Mai 2020 à 10:13 par David Larochette :
> Le 07/05/2020 à 00:21, BKCelia a écrit :
>> Bonjour,
>> Je suis en classe de terminale, et j'ai comme devoir de créer un jeu,
>> j'ai donc
>> décidé, avec mon camarade, de faire un jeu inspiré de
>> Space Invaders. Nous
>> bloquons actuellement sur la création de deux boutons, "Play"
>> et "Score". En
>> effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment
>> l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A et
>> la zone B, pour chacun des boutons), fasse un évènement (lancer
>> le jeu ou
>> afficher le tableau des meilleurs scores), nous avons posé la question
>> à notre
>> professeur, qui nous a renvoyé à un tp déjà
>> réalisé, mais ce tp n'est en réalité
>> pas en rapport avec ce que l'on souhaite faire (car il utilise les
>> KeyListeners).
>> Merci d'avoir lu jusqu'ici :)
>>
>>
> Il faut pour cela utiliser les MouseEvents, qui sont implémentés
> au
> niveau de java.awt.Component, dont héritent tous les composants Swing
> (à
> supposer que c'est le framework graphique que vous utilisez).
>
> La marche à suivre est d'enregistrer une classe héritant de
> MouseListener auprès du composant à écouter e.g.
> maZoneDeRendu.addMouseListener(monMouseListener);
> puis d'utiliser les méthodes MouseEvent.getX() et MouseEvent.getY() pour
> vérifier que l'évenement a bien eu lieu dans la zone
> désirée.
Merci beaucoup pour votre réponse, cela m'aide énormément !
Je n'avais en effet pas pensé au getX et getY.
Bonne journée et merci encore.
Le jeudi 07 Mai 2020 à 10:13 par David Larochette :
Le 07/05/2020 à 00:21, BKCelia a écrit :
Bonjour, Je suis en classe de terminale, et j'ai comme devoir de créer un jeu, j'ai donc décidé, avec mon camarade, de faire un jeu inspiré de Space Invaders. Nous bloquons actuellement sur la création de deux boutons, "Play" et "Score". En effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A et la zone B, pour chacun des boutons), fasse un évènement (lancer le jeu ou afficher le tableau des meilleurs scores), nous avons posé la question à notre professeur, qui nous a renvoyé à un tp déjà réalisé, mais ce tp n'est en réalité pas en rapport avec ce que l'on souhaite faire (car il utilise les KeyListeners). Merci d'avoir lu jusqu'ici :)
Il faut pour cela utiliser les MouseEvents, qui sont implémentés au niveau de java.awt.Component, dont héritent tous les composants Swing (à supposer que c'est le framework graphique que vous utilisez). La marche à suivre est d'enregistrer une classe héritant de MouseListener auprès du composant à écouter e.g. maZoneDeRendu.addMouseListener(monMouseListener); puis d'utiliser les méthodes MouseEvent.getX() et MouseEvent.getY() pour vérifier que l'évenement a bien eu lieu dans la zone désirée.
Merci beaucoup pour votre réponse, cela m'aide énormément ! Je n'avais en effet pas pensé au getX et getY. Bonne journée et merci encore.
bkcelia
Le jeudi 07 Mai 2020 à 00:21 par BKCelia :
Bonjour, Je suis en classe de terminale, et j'ai comme devoir de créer un jeu, j'ai donc décidé, avec mon camarade, de faire un jeu inspiré de Space Invaders. Nous bloquons actuellement sur la création de deux boutons, "Play" et "Score". En effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A et la zone B, pour chacun des boutons), fasse un évènement (lancer le jeu ou afficher le tableau des meilleurs scores), nous avons posé la question à notre professeur, qui nous a renvoyé à un tp déjà réalisé, mais ce tp n'est en réalité pas en rapport avec ce que l'on souhaite faire (car il utilise les KeyListeners). Merci d'avoir lu jusqu'ici :)
Bonsoir, j'ai tenté d'insérer le getx et getY, et voici à quoi ressemble ma classe souris : package Systeme; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import Jeu.Chrono; import Jeu.Main; public class Souris implements MouseListener { private double mouseX; private double mouseY; public void mouseClicked(MouseEvent e) { mouseX = e.getX(); mouseY = e.getY(); if(e.getX() > 200 && e.getX() < 400 && e.getY() > 650 && e.getY() < 730) { Main.scene.setDy(2); Thread chronoEcran = new Thread(new Chrono()); chronoEcran.start(); } } public void mouseEntered(MouseEvent arg0) { } public void mouseExited(MouseEvent arg0) { } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { } } lorsque je lance l'applet et que je tente d'appuyer à cet endroit, rien ne se passe, alors que le jeu est sensé se lancer :/
Le jeudi 07 Mai 2020 à 00:21 par BKCelia :
> Bonjour,
> Je suis en classe de terminale, et j'ai comme devoir de créer un jeu,
> j'ai donc décidé, avec mon camarade, de faire un jeu
> inspiré de Space Invaders. Nous bloquons actuellement sur la
> création de deux boutons, "Play" et "Score". En
> effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment
> l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A et
> la zone B, pour chacun des boutons), fasse un évènement (lancer
> le jeu ou afficher le tableau des meilleurs scores), nous avons posé la
> question à notre professeur, qui nous a renvoyé à un tp
> déjà réalisé, mais ce tp n'est en
> réalité pas en rapport avec ce que l'on souhaite faire (car il
> utilise les KeyListeners).
> Merci d'avoir lu jusqu'ici :)
Bonsoir, j'ai tenté d'insérer le getx et getY, et voici à quoi ressemble ma classe souris :
package Systeme;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import Jeu.Chrono;
import Jeu.Main;
public class Souris implements MouseListener {
private double mouseX;
private double mouseY;
public void mouseClicked(MouseEvent e) {
mouseX = e.getX();
mouseY = e.getY();
if(e.getX() > 200 && e.getX() < 400 && e.getY() > 650 && e.getY() < 730) {
Main.scene.setDy(2);
Thread chronoEcran = new Thread(new Chrono());
chronoEcran.start();
}
}
public void mouseEntered(MouseEvent arg0) {
}
public void mouseExited(MouseEvent arg0) {
}
public void mousePressed(MouseEvent arg0) {
}
public void mouseReleased(MouseEvent arg0) {
}
}
lorsque je lance l'applet et que je tente d'appuyer à cet endroit, rien ne se passe, alors que le jeu est sensé se lancer :/
Bonjour, Je suis en classe de terminale, et j'ai comme devoir de créer un jeu, j'ai donc décidé, avec mon camarade, de faire un jeu inspiré de Space Invaders. Nous bloquons actuellement sur la création de deux boutons, "Play" et "Score". En effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A et la zone B, pour chacun des boutons), fasse un évènement (lancer le jeu ou afficher le tableau des meilleurs scores), nous avons posé la question à notre professeur, qui nous a renvoyé à un tp déjà réalisé, mais ce tp n'est en réalité pas en rapport avec ce que l'on souhaite faire (car il utilise les KeyListeners). Merci d'avoir lu jusqu'ici :)
Bonsoir, j'ai tenté d'insérer le getx et getY, et voici à quoi ressemble ma classe souris : package Systeme; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import Jeu.Chrono; import Jeu.Main; public class Souris implements MouseListener { private double mouseX; private double mouseY; public void mouseClicked(MouseEvent e) { mouseX = e.getX(); mouseY = e.getY(); if(e.getX() > 200 && e.getX() < 400 && e.getY() > 650 && e.getY() < 730) { Main.scene.setDy(2); Thread chronoEcran = new Thread(new Chrono()); chronoEcran.start(); } } public void mouseEntered(MouseEvent arg0) { } public void mouseExited(MouseEvent arg0) { } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { } } lorsque je lance l'applet et que je tente d'appuyer à cet endroit, rien ne se passe, alors que le jeu est sensé se lancer :/
David Larochette
Le 07/05/2020 à 22:15, bkcelia a écrit :
Le jeudi 07 Mai 2020 à 00:21 par BKCelia :
Bonjour, Je suis en classe de terminale, et j'ai comme devoir de créer un jeu, j'ai donc décidé, avec mon camarade, de faire un jeu inspiré de Space Invaders. Nous bloquons actuellement sur la création de deux boutons, "Play" et "Score". En effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A
et
la zone B, pour chacun des boutons), fasse un évènement (lancer le jeu ou afficher le tableau des meilleurs scores), nous avons posé la question à notre professeur, qui nous a renvoyé à un tp déjà réalisé, mais ce tp n'est en réalité pas en rapport avec ce que l'on souhaite faire (car il utilise les KeyListeners). Merci d'avoir lu jusqu'ici :)
Bonsoir, j'ai tenté d'insérer le getx et getY, et voici à quoi ressemble ma classe souris :
[SNIP : Code Java]
lorsque je lance l'applet et que je tente d'appuyer à cet endroit, rien ne se passe, alors que le jeu est sensé se lancer :/
Le code que tu donnes ne permet pas vraiment de voir ce qui ne va pas. Une bonne piste serait de vérifier que tu reçois bien des événements souris (donc que le AddMouseListener est bien effectif). Pour ce faire, tu peux par exemple mettre un System.out.printLn(String.format("Evt souris en (%d,%d)", e.getX(), e.getY())); sur tous les évènements souris. Cela te permettra de vérifier à la fois que l'inscription aux évènements fonctionne, et que les coordonnées X,Y correspondent bien à l'attendu.
Le 07/05/2020 à 22:15, bkcelia a écrit :
Le jeudi 07 Mai 2020 à 00:21 par BKCelia :
Bonjour,
Je suis en classe de terminale, et j'ai comme devoir de créer un jeu,
j'ai donc décidé, avec mon camarade, de faire un jeu
inspiré de Space Invaders. Nous bloquons actuellement sur la
création de deux boutons, "Play" et "Score". En
effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment
l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A
et
la zone B, pour chacun des boutons), fasse un évènement (lancer
le jeu ou afficher le tableau des meilleurs scores), nous avons posé la
question à notre professeur, qui nous a renvoyé à un tp
déjà réalisé, mais ce tp n'est en
réalité pas en rapport avec ce que l'on souhaite faire (car il
utilise les KeyListeners).
Merci d'avoir lu jusqu'ici :)
Bonsoir, j'ai tenté d'insérer le getx et getY, et voici à quoi ressemble ma
classe souris :
[SNIP : Code Java]
lorsque je lance l'applet et que je tente d'appuyer à cet endroit, rien ne se
passe, alors que le jeu est sensé se lancer :/
Le code que tu donnes ne permet pas vraiment de voir ce qui ne va pas.
Une bonne piste serait de vérifier que tu reçois bien des événements
souris (donc que le AddMouseListener est bien effectif). Pour ce faire,
tu peux par exemple mettre un
System.out.printLn(String.format("Evt souris en (%d,%d)", e.getX(),
e.getY()));
sur tous les évènements souris. Cela te permettra de vérifier à la fois
que l'inscription aux évènements fonctionne, et que les coordonnées X,Y
correspondent bien à l'attendu.
Bonjour, Je suis en classe de terminale, et j'ai comme devoir de créer un jeu, j'ai donc décidé, avec mon camarade, de faire un jeu inspiré de Space Invaders. Nous bloquons actuellement sur la création de deux boutons, "Play" et "Score". En effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A
et
la zone B, pour chacun des boutons), fasse un évènement (lancer le jeu ou afficher le tableau des meilleurs scores), nous avons posé la question à notre professeur, qui nous a renvoyé à un tp déjà réalisé, mais ce tp n'est en réalité pas en rapport avec ce que l'on souhaite faire (car il utilise les KeyListeners). Merci d'avoir lu jusqu'ici :)
Bonsoir, j'ai tenté d'insérer le getx et getY, et voici à quoi ressemble ma classe souris :
[SNIP : Code Java]
lorsque je lance l'applet et que je tente d'appuyer à cet endroit, rien ne se passe, alors que le jeu est sensé se lancer :/
Le code que tu donnes ne permet pas vraiment de voir ce qui ne va pas. Une bonne piste serait de vérifier que tu reçois bien des événements souris (donc que le AddMouseListener est bien effectif). Pour ce faire, tu peux par exemple mettre un System.out.printLn(String.format("Evt souris en (%d,%d)", e.getX(), e.getY())); sur tous les évènements souris. Cela te permettra de vérifier à la fois que l'inscription aux évènements fonctionne, et que les coordonnées X,Y correspondent bien à l'attendu.