# Brauche Startwissen!



## Ramschen (30. Mai 2004)

Also ich beschäftige mich momentan mit Applets und nun möchte ich für den Anfang (naja, was heißt Anfang) mal ein Spielchen proggen...habe aber noch ein paar fragen:

1) Ich möchte keine Buttons einfügen, sondern Bilder auf die man klicken kann! Aber nicht, in dem ich einen Button einfach mit einem Bild fülle (denn dann ist da immer der graue Rahem drum). *Kann ich ein Bild einfügen und trozdem abfragen, ob jemand mit der Maus auf dieses geklickt hat?* Wenn ja, bitte mit kurzem Beispiel!

2) Also ich wollte erst ein Bild einblenden, welches über das ganze Applet geht. In der Zeit im Hintergund das komplette Bild aufbauen und dann das erste Bild ausblenden (entfernen). Also sozusagen 2 Ebenen (1 Ebene mit dem STartbild/ 2 Ebene mit dem Game)...wie kann ich sowas machen? Gibt es sowas wie ebenen? Ich kann ja in Graphics einfach erst das Startbild und danach das Game schreiben und einblenden! Also wie mache ich es das ich im Hintergund das Game geladen wird und schon aufgebaut wird und im Vordergrund ein Bild über den ganen Applet erscheint und wenn alles geladen ist, das Startbild verschwindet? *Und wie kann ich alles was in Graphics steht auf einmal löschen? **Oder kann ich sogar mehrere Graphic Objekte/methoden (wie auch immer) erzeugen und die Anzeigen oder auch nicht?*

Schonmal Danke, mir reichen Tutorials oder Links, aber auch einuzelne Methoden (dann kann ich danach gucken)...koplette Antworten sind mir natürlich am liebsten!   

Ich kenn mich nur mit Javascript, PHP, HTML und Flash Actionscript aus! Daher die ganzen fragen, wie ich sowas hier anstellen kann

THX, euer Ramschen

PS: 

3) *Kann ich irgendwie sagen, welches Bidl über welchem liegen soll, wenn ich 2 Bilder habe, die sich überschneiden sollen? *

4) Ich möchte einen Bereich in den der User klicken soll. In diesem Bereich soll der aber an menchen stellen (da wo bestimmte Bilder sind) nicht hinklicken können...*soll ich da Abfragen, wo die Maus ist und dann gucken ob die über einen Bild ist? Oder soll ich lieber ein Bild oder den Hintergrund zum aklicken nehmen und Bilder die nicht angegklickt werden dürfen darüber legen, wenn das geht! (siehe dazu 3)  *


----------



## Beni (30. Mai 2004)

Zu 1:
Am einfachsten nimmst du eine Component, und überschreibst die Methode paint (oder paintComponent bei Swing), um das Bild zu zeichnen.
Dann kannst du dieser Component einen MouseListener zuweisen, und Mausklicks so abfangen.


----------



## Donut (31. Mai 2004)

1. Nimm einfach dein Bild und vergleiche beim Mausklick die Koordinaten.

2. Es gibt in Java eine Klasse names Media Tracker (http://java.sun.com/j2se/1.4.2/docs/api/java/awt/MediaTracker.htm) diese überwacht das laden von allen möglichen elementen, sodass du die Bilder gar nicht zeichnen musst, sonder wartest, bis sie geladen sind um sie dann zu zeichnen

edit:

3. Das bild, welches der Compiler erst in die Finger kriegt, das zeichnet er zuerst

```
g.drawImage(Bild1, 100, 100);
g.drawImage(Bild2, 150, 150);
```
in diesem Falle würde Bild 2 über das Bild1 gezeichnet werden


----------



## Ramschen (31. Mai 2004)

Aber wie wird das in anderen Games gemacht, wenn das Spiel vom Startbildschirm (mit z.B. Buttons für Optionen etc) zum eigentlichen Spiel wechselt? Dann muss ja eigentlich alles was auf dem Bildschirm ist gelöscht werden und ein neues Bidl aufgebaut werden! Wie mache ich sowas denn? 

Kann man alles in Graphics löschen?
Oder überschreibt man einfach alles was da drin steht?
Oder kann man mehrere Bidler aufbauen und die ein und ausblenden?

Nochmals Danke


----------



## Guest (1. Jun 2004)

êigentlich wird der gesamte screen glöscht (clearRect() ) un dan der neue (schon) geladene Inhalt gezeichnet.


----------



## Ramschen (1. Jun 2004)

ALso es wird einfach alles am Anfang shon geladen (wie mit dieser Klasse media Tracker) und dann wird das alte Bild einfach gelöscht und das neue gezeichnet...also muss ich einfach am Anfang nur alles laden, oder?


----------



## Donut (1. Jun 2004)

beides passiert aber nicht automatisch.

du musst eine Instanz des MediaTracker kreieren und  jedes Bild hinzufügen und überwachen.

ebenso wird das alte bild nicht automatisch gelöscht, sondern das neue einfach drübergepatscht. Wenn das neue das alte 100% abdeckt, ist das kein unterschied. sonst musst du mit clearRect() deinen gewüschten bereicht löschen (also wegradieren quasi)


----------



## Ramschen (1. Jun 2004)

ok, danke...ich werd dann mal nach dem media tracker gucken...aber danke, das ist genau die antwort die ich suchte! Bye und bis bald


----------

