Skip to content

Commit a334c35

Browse files
committed
Added mouse handler (controller) into the game
Added a mouse handler which will be used for projectiles for the future
1 parent d681252 commit a334c35

File tree

2 files changed

+75
-2
lines changed

2 files changed

+75
-2
lines changed

src/com/redomar/game/Game.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public class Game extends Canvas implements Runnable {
7171
BufferedImage.TYPE_INT_RGB);
7272
private Screen screen;
7373
private static InputHandler input;
74+
private static MouseHandler mouse;
7475
private WindowHandler window;
7576
private LevelHandler level;
7677
private Player player;
@@ -124,6 +125,7 @@ public void init() {
124125

125126
screen = new Screen(WIDTH, HEIGHT, new SpriteSheet("/sprite_sheet.png"));
126127
input = new InputHandler(this);
128+
setMouse(new MouseHandler(this));
127129
setWindow(new WindowHandler(this));
128130
setMap("/levels/custom_level.png");
129131
setMap(1);
@@ -305,6 +307,7 @@ public void render() {
305307
Graphics g = bs.getDrawGraphics();
306308
g.drawRect(0, 0, getWidth(), getHeight());
307309
g.drawImage(image, 0, 0, getWidth(), getHeight() - 30, null);
310+
status(g, isDevMode(), isClosing());
308311
// Font.render("Hi", screen, 0, 0, Colours.get(-1, -1, -1, 555), 1);
309312
g.drawImage(image2, 0, getHeight() - 30, getWidth(), getHeight(), null);
310313
g.setColor(Color.WHITE);
@@ -317,7 +320,6 @@ public void render() {
317320
g.drawString("Press Q to quit", (getWidth()/2)-("Press Q to quit".length()*3), getHeight() -17);
318321
g.setColor(Color.YELLOW);
319322
g.drawString(time.getTime(), (getWidth() - 58), (getHeight() - 3));
320-
status(g, isDevMode(), isClosing());
321323
g.setColor(Color.WHITE);
322324
if (noAudioDevice == true) {
323325
g.setColor(Color.RED);
@@ -354,14 +356,18 @@ public void render() {
354356

355357
private void status(Graphics g, boolean TerminalMode, boolean TerminalQuit) {
356358
if (TerminalMode == true){
357-
g.setColor(Color.GREEN);
359+
g.setColor(Color.CYAN);
358360
g.drawString("JavaGame Stats", 0, 10);
359361
g.drawString("FPS/TPS: " + fps + "/" + tps, 0, 25);
360362
if ((player.getNumSteps() & 15) == 15) {
361363
steps += 1;
362364
}
363365
g.drawString("Foot Steps: " + steps, 0, 40);
364366
g.drawString("NPC: " + WordUtils.capitalize(String.valueOf(isNpc())) , 0, 55);
367+
g.drawString("Mouse: " + getMouse().getX() + "x |" + getMouse().getY() + "y", 0, 70);
368+
if(getMouse().getButton() != -1) g.drawString("Button: " + getMouse().getButton(), 0, 85);
369+
g.setColor(Color.CYAN);
370+
g.fillRect(getMouse().getX()-12, getMouse().getY()-12, 24, 24);
365371
}
366372
if (TerminalQuit == true){
367373
g.setColor(Color.BLACK);
@@ -556,6 +562,14 @@ public void setInput(InputHandler input) {
556562
Game.input = input;
557563
}
558564

565+
public static MouseHandler getMouse() {
566+
return mouse;
567+
}
568+
569+
public static void setMouse(MouseHandler mouse) {
570+
Game.mouse = mouse;
571+
}
572+
559573
public static boolean isDevMode() {
560574
return devMode;
561575
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package com.redomar.game;
2+
3+
import java.awt.event.MouseEvent;
4+
import java.awt.event.MouseListener;
5+
import java.awt.event.MouseMotionListener;
6+
7+
public class MouseHandler implements MouseListener, MouseMotionListener{
8+
9+
private static int mouseX = -1;
10+
private static int mouseY = -1;
11+
private static int mouseB = -1;
12+
13+
public MouseHandler(Game game){
14+
game.addMouseListener(this);
15+
game.addMouseMotionListener(this);
16+
}
17+
18+
public int getX() {
19+
return mouseX;
20+
}
21+
22+
public int getY() {
23+
return mouseY;
24+
}
25+
26+
public int getButton() {
27+
return mouseB;
28+
}
29+
30+
public void mouseDragged(MouseEvent e) {
31+
32+
}
33+
34+
public void mouseMoved(MouseEvent e) {
35+
mouseX = e.getX();
36+
mouseY = e.getY();
37+
}
38+
39+
public void mouseClicked(MouseEvent e) {
40+
41+
}
42+
43+
public void mousePressed(MouseEvent e) {
44+
mouseB = e.getButton();
45+
}
46+
47+
public void mouseReleased(MouseEvent e) {
48+
mouseB = -1;
49+
}
50+
51+
public void mouseEntered(MouseEvent e) {
52+
53+
}
54+
55+
public void mouseExited(MouseEvent e) {
56+
57+
}
58+
59+
}

0 commit comments

Comments
 (0)