Handle mouse events in Java 1.1 (deprecated)
Be careful: This way of handling events in Java is marked as beeing deprecated since Java 1.2 and will generate compiler warnings. But since many users still use Internet Explorer 5 which uses the JDK standard of 1.1 this way of handling events can still be used. But if you want to use an up to date event handling please read the chapter about the new event handling and use the method described there. Nevertheless this chapter here might explain some features in more detail so you might want to read it anyway!
I think there is no game that doesn't "interact" with the player. In our case, as a programmer, you have two possibilities to allow the player to interact with the computer: the player has to use the mouse or the keyboard. In the next two chapters I want to tell you how to handle mouse and keyboard events in an applet. Again this is much more easier to do in an applet as in a real application programmed for example using Java Swing. Also you won't be able to use the things you will learn here about event handling in an application, because event handling is very different in applications. But every good book about Java tells you how to handle events in applications so I think it will be no problem for you to learn it by yourself if you need to.
To do this you have to implement just one method in our Main class called mouseDown . This method should look like this:
public boolean mouseDown (Event e, int x, int y)
x_speed = - (x_speed);
// DON'T FORGET (although not necessary here)!!
Additionally to that you have to change a little bit in the run() - method to achieve the behaviour I described. Please see the source code to this chapter for details.
Of course you can handle other events than the mouseDown event. Java makes it possible to overwrite the following methods the same way as I did above and handle other mouse events that way. Here comes a list of the methods:
With help of the variables int x and int y you can get the coordinates where the event happend, which is very important for many games. Also you have to take care of the return statement "return true;" that has often no meaning for the funktionality of your game but is expected by the method.Sourcecode download
Take a look at the applet
Next chapterHandling keyboard events