public class Maus
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
class |
Maus.Auftrag
Diese Klasse sammelt die Auftraege der KlickReagierbar-Interfaces.
|
Modifier and Type | Field and Description |
---|---|
static int |
TYPE_FADENKREUZ
Ein Fadenkreuz
|
static int |
TYPE_HAND
Ein klassischer Zeiger, der eine Hand darstellt mit einem Zeigefinger
|
static int |
TYPE_KLASSIK
Ein klassischer Zeiger, wie unter Windows gewohnt
|
static int |
TYPE_STANDARD
Standard-Maus-Zeiger der Engine Alpha
|
Constructor and Description |
---|
Maus(int type)
Vereinfachter Konstruktor für eine Standard-Maus.
|
Maus(int type,
boolean fixed,
boolean bewegend)
Vollständiger Konstruktor für eine Standard-Maus.
|
Maus(Raum mausbild,
Punkt hotspot)
Erstellt eine Maus, die die Kamera nicht bewegt und nicht fixiert ist.
|
Maus(Raum mausbild,
Punkt hotspot,
boolean fixed)
Dieser Konstruktor ist lediglich eine Vereinfachung.
|
Maus(Raum mausbild,
Punkt hotspot,
boolean fixed,
boolean bewegend)
Dieser Konstruktor ermöglicht es, ein eigenes Mausbild einzubringen.
|
Modifier and Type | Method and Description |
---|---|
boolean |
absolut() |
void |
anmelden(MausReagierbar m,
Raum objekt,
int code)
Meldet ein Raumobjekt zum Ueberwachen an einem bestimmten Listener an, unter Eingabe eines
bestimmten Codes.
|
boolean |
bewegend() |
void |
bewegt(Vektor bewegung)
Benachrichtigt alle Listener, falls die Bewegung nicht (0|0) war.
|
void |
entfernen(MausReagierbar g)
Entfernt ein bestimmtes MausReagierbar-Interface gaenzlich von Kollisionstest.
Heisst das also, dass mehrere verschiedene Raum-Objekte an dem uebergebenen Objekt Ueberwacht werden, so wird ab sofort fuer keines mehr eine Benachrichtigung stattfinden. |
void |
fensterSetzen(Fenster f)
Setzt die Referenz auf das Fenster, in dem diese Maus sitzt, neu.
|
Raum |
getImage()
Berechnet das Bild von der Maus, das in der Engine dargestellt wird.
|
Punkt |
hotSpot() |
void |
klick(Punkt p,
boolean links)
Bei einer angemeldeten Maus wird bei einem Klick diese Methode aufgerufen.
Theoretisch liessen sich so Tastenklicks "simulieren". |
void |
klick(Punkt p,
boolean links,
boolean losgelassen)
Bei einer angemeldeten Maus wird bei einem Klick diese Methode aufgerufen.
So lassen sich auch Klicks auf die Maus "simulieren". |
Punkt |
klickAufZeichenebene()
Gibt den Punkt auf der Zeichenebene aus, auf den die Maus bei einem Klick zeigen
würde.
|
void |
klickReagierbarAnmelden(KlickReagierbar k)
Meldet ein KlickReagierbar bei der Maus an.
Ab dann wird es bei jedem Mausklick (Linksklick) in der Engine benachrichtigt. |
void |
mausBewegungReagierbarAnmelden(MausBewegungReagierbar m)
Meldet ein
MausBewegungReagierbar -Objekt bei der Maus an. |
void |
mausLosgelassenReagierbarAnmelden(MausLosgelassenReagierbar m)
Meldet ein
MausLosgelassenReagierbar -Objekt bei der Maus an. |
void |
mausReagierbarAnmelden(MausReagierbar m,
Raum objekt)
Alternativmethopde zum anmelden.
|
java.util.ArrayList<Maus.Auftrag> |
mausReagierbarListe()
Gibt die Liste aller Auftraege (interne Klasse!!) fuer MausReagierbar- Interfaces
ACHTUNG Die ArrayList ist verantwortlich fuer die MausReagierbar-Aktionen. |
void |
rechtsKlickReagierbarAnmelden(RechtsKlickReagierbar k)
Meldet ein RechtsKlickReagierbar-Objekt bei der Maus an.
Ab dann wird es bei jedem Rechtsklick benachrichtigt. |
void |
uebernehmeAlleListener(Maus von)
Uebernimmt alle Listener von einer anderen Maus.
|
public static final int TYPE_STANDARD
public static final int TYPE_FADENKREUZ
public static final int TYPE_HAND
public static final int TYPE_KLASSIK
@API public Maus(Raum mausbild, Punkt hotspot, boolean fixed)
Maus(Raum, Punkt, boolean,
boolean)
bewegend
wird bei diesem Konstruktor auf false
gesetzt.mausbild
- siehe Maus(Raum, Punkt, boolean, boolean)
hotspot
- siehe Maus(Raum, Punkt, boolean, boolean)
fixed
- siehe Maus(Raum, Punkt, boolean, boolean)
Maus(Raum, Punkt, boolean, boolean)
,
Bild
,
Kamera
@API public Maus(Raum mausbild, Punkt hotspot, boolean fixed, boolean bewegend)
mausbild
- Das Objekt, das ab sofort das Mausbild sein wird und auch dementsprechend bewegt wird.hotspot
- Der bereits beschriebene Hotspotfixed
- Ob diese Maus fixiert sein soll: Ist dieser Wert true
, so ist die Maus immer
in der Mitte. Bei false
verhält sich diese Maus genauso wie gewohnt.bewegend
- Regelt, ob die Kamera bei Mausbewegungen bewegt wird.
Bei true
: false
wird die Kamera nie automatisch bewegt. Allerdings ist dies über das
Interface MausBewegungReagierbar
manuell realisierbar. Ohne dieses Interface
gibt false
bei einer fixierten Maus wenig Sinn.Bild
,
Kamera
@API public Maus(Raum mausbild, Punkt hotspot)
Maus(Raum, Punkt, boolean, boolean)
mausbild
- siehe Maus(Raum, Punkt, boolean, boolean)
hotspot
- siehe Maus(Raum, Punkt, boolean, boolean)
Maus(Raum, Punkt, boolean)
@API public Maus(int type)
type
- Die Art der Maus. Jeder Wert steht für eine andere Maus.
TYPE_STANDARD
, TYPE_FADENKREUZ
, TYPE_HAND
oder TYPE_KLASSIK
@API public Maus(int type, boolean fixed, boolean bewegend)
type
- Die Art der Maus. Jeder Wert steht für eine andere Maus.
TYPE_STANDARD
, TYPE_FADENKREUZ
, TYPE_HAND
oder TYPE_KLASSIK
fixed
- Ob diese Maus fixiert sein soll: Ist dieser Wert true
, so ist die Maus immer
in der Mitte. Bei false
verhält sich diese Maus genauso wie gewohnt.bewegend
- Ob die Maus die Kamera bewegen koennen soll oder nicht.public Raum getImage()
public Punkt hotSpot()
public void fensterSetzen(Fenster f)
f
- Die neue Fensterreferenz.public void mausReagierbarAnmelden(MausReagierbar m, Raum objekt)
0
gesetzt.m
- Der anzumeldende Listenerobjekt
- Das zu auf Klicks zu ueberwachende Objektanmelden(MausReagierbar, Raum, int)
public void anmelden(MausReagierbar m, Raum objekt, int code)
m
- Das Listener-Objekt, dass bei Kollision benachrichtigt werden soll.objekt
- Das auf Klick zu ueberwachende Raum-Objektcode
- Der Code, mit dem ein Klick auf dieses Objekt assoziiert wird.MausReagierbar.mausReagieren(int)
public void uebernehmeAlleListener(Maus von)
von
- Von dieser Maus, werden alle Listener-Listen übernommen. Bereits vorhandene Listener
bleiben dabei erhalten, werden aber eventuell DOPPELT eingefügt.public void klickReagierbarAnmelden(KlickReagierbar k)
k
- Das anzumeldende KlickReagierbar-Interfacepublic void rechtsKlickReagierbarAnmelden(RechtsKlickReagierbar k)
k
- Das anzumeldende RechtsKlickReagierbar
-Interfacepublic void mausLosgelassenReagierbarAnmelden(MausLosgelassenReagierbar m)
MausLosgelassenReagierbar
-Objekt bei der Maus an. m
- Listener-Objektpublic void mausBewegungReagierbarAnmelden(MausBewegungReagierbar m)
MausBewegungReagierbar
-Objekt bei der Maus an. m
- Listener-Objektpublic void klick(Punkt p, boolean links)
p
- der respektive Punkt für den simulierten Mausklick.links
- War der Klick ein Linksklick, ist dieser Wert true
. Fuer jede andere Klickart
ist dieser Wert false
. In diesem Fall wird mit einem Rechtsklick gerechnet.ea.Maus#klick(int, int, boolean, boolean)
public void klick(Punkt p, boolean links, boolean losgelassen)
p
- der Punkt des Klickslinks
- War der Klick ein Linksklick, ist dieser Wert true
. Fuer jede andere Klickart
ist dieser Wert false
. In diesem Fall wird mit einem Rechtsklick gerechnet.losgelassen
- ist dieser Wert true
, so wird dies als losgelassene Taste behandelt.public void bewegt(Vektor bewegung)
bewegung
- der Vektor, der die Bewegung der Maus beschreibt.public void entfernen(MausReagierbar g)
g
- Das gaenzlich von Klick-Tests zu entfernende MausReagierbar
-Interfacepublic boolean bewegend()
public Punkt klickAufZeichenebene()
public boolean absolut()
public java.util.ArrayList<Maus.Auftrag> mausReagierbarListe()
Maus.Auftrag