Specialeffekter och spelutveckling
i Java(TM) - Appleten MouseOverTest
import java.applet.*;
import java.awt.*;
public class mouseovertest extends Applet {
//Variabeln "currentimage" pekar på den bild som visas just nu.
Image currentimage;
//Variabeln "normalimage" pekar på bilden som visas när
//muspekaren är utanför appletskärmen.
Image normalimage;
//Variabeln "mouseoverimage" pekar på bilden som visas när
//muspekaren är inom appletskärmen.
Image mouseoverimage;
public void init()
{
//Vi måste alltid ha vanan att använda spåraren.
//Den snyggar upp appleten.
MediaTracker tracker=new MediaTracker(this);
normalimage=getImage(getDocumentBase(),"normal.jpg");
//"normalimage" blir nummer ett i spårarens
//inladdningslista.
tracker.addImage(normalimage,0);
mouseoverimage=getImage(getDocumentBase(),"mouseover.jpg");
tracker.addImage(mouseoverimage,1);
//"currentimage" sätts till "normalimage" i början.
//Senare i paint() kommer "currentimage" att användas
//för att rita ut bilden.
currentimage=normalimage;
//Slutligen så ser vi till att spåraren
//laddar in bilderna.
try {tracker.waitForAll();}
catch(InterruptedException e)
{
System.out.println("Någonting stoppade inladdningen...");
}
}
public void paint(Graphics g)
{
//Rita ut den "nuvarande" bilden.
g.drawImage(currentimage,0,0,this);
}
public boolean mouseEnter(Event e, int x, int y)
{
//Om muspekaren går in i appleten så sätter
//vi currentimage till "mouseoverimage" så
//att nästa gång paint() anropas så ritas
//mouseoverbilden ut istället för
//normalbilden.
currentimage=mouseoverimage;
//Skärmen kommer inte att uppdatera sig själv
//bara för att muspekaren gick in i
//appletområdet.
//Så vi måste se till att den gör det
//med update() metoden.
update(getGraphics());
return true;
}
public boolean mouseExit(Event e, int x, int y)
{
//När muspekaren går ut ur området igen
//så återställer vi "currentimage" så att
//den pekar på "normalimage" igen.
currentimage=normalimage;
update(getGraphics());
return true;
}
}
|
 |  |
|