Когда я установил событие Mouse_Clicked
, он должен вернуться в главное меню, но ничего не делает, когда я нажимаю на мышь. Я хочу, чтобы он пошел к MENUSTATE
, который является главным меню, но ничего не происходит. Мне нужна помощь, так как это школьный проект, и я не знаю, что не так.Java GameState не меняется
package GameState;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import main.GamePanel;
public class HelpState extends GameState {
private Color titleColor;
private Font titleFont;
public HelpState(GameStateManager gameStateManager) {
init();
}
@Override
public void init() { }
@Override
public void update() {
// TODO Auto-generated method stub
}
@Override
public void draw(Graphics2D g) {
g.setColor(titleColor);
g.setFont(titleFont);
g.clearRect(1, 1, GamePanel.WIDTH, GamePanel.HEIGHT);
g.drawString("Move Left: Left Arrow ", 0, 25);
g.drawString("Move Right: Right Arrow ", 0, 45);
g.drawString("Attack: A Button ", 0, 65);
g.drawString("Become Other Wumps: You must have things happened to", 0, 85);
g.drawString("you (Eg. Get smashed by a wall). After that you must press ", 0, 95);
g.drawString("the corresponding No. Key.", 0, 105);
}
private void select() {
gsm.setState(GameStateManager.MENUSTATE);
}
public void mousePressed(int m) {
if (m == MouseEvent.MOUSE_CLICKED) {
select();
}
}
@Override
public void keyReleased(int k) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(int k) {
// TODO Auto-generated method stub
}
}
ли ваша программа даже попасть в mousePressed (интермедиат м) {}? –
Попытайтесь добавить @Override к методу mousePressed (int m) {}, посмотрите, что произойдет. – Victor2748
'g.clearRect (1, 1, GamePanel.WIDTH, GamePanel.HEIGHT);' - плохая идея, так как фактическая ширина и высота могут отличаться от того, что, по вашему мнению, есть, также, как правило, нулевой индекс, что вы, вероятно, должны начинать с '0x0'. Рассмотрите возможность предоставления [runnable example] (https://stackoverflow.com/help/mcve), который демонстрирует вашу проблему. Это приведет к меньшему путанице и лучшим ответам – MadProgrammer