neues Problem!

Status
Nicht offen für weitere Antworten.

Booty

Mitglied
Hi,
zuerst ein paar Informationen zu mir. Ich bin 16Jahre alt, auf nem Gymnasium und hab Informatik als Grundkurs(Leistungskurs wurd nicht angeboten). Wir haben jetzt angefangen mit Java mithilfe des Programms "Greenfoot" vlt. kennt ihr es ja. Nun sind wir gerade dabei, nachdem wir mithilfe unseres Lehres ein erstes "Spiel" programmiert haben unser eigenes zu programmieren. Greenfoot ist nur 2D!

Meine Idee war, zwei Raumschiffe bzw. Objekte, die beide per Tastatur zu steuern sind aufeinander loszulassen. Diese sollen aufeinander schießen(bishierhin ohne Probleme geklappt). Das Geschoss zu erstellen ist kein Problem, nur bekomm ich es nicht hin, dass es an der Stelle des Objekts und in die gleiche Richtung erscheint. Ich hab eine Methode geschrieben es lässt sich auch kompilieren, aber dann kommt diese Fehlermeldung wenn ich es loslaufen lassen möchte
Code:
java.lang.NullPointerException
	at Rakete.act(Rakete.java:32)
	at greenfoot.core.Simulation.runOneLoop(Simulation.java:167)
	at greenfoot.core.Simulation.run(Simulation.java:109)

die dazugehörige Klasse lautet:
Code:
public class Rakete extends Mover
{

    private String name;
    private Rakete rakete;
        
    public Rakete(String neuerName)
    {
        name = neuerName;
    }

    public void act() 
    {
        move();
        
        if(Greenfoot.isKeyDown("left"))
        {
            turn(-10);
        }
        
        if(Greenfoot.isKeyDown("right"))
        {
            turn(10);
        }
        
        if(Greenfoot.isKeyDown("up"))
        {
            World world = getWorld();
            world.addObject(new Laser(), rakete.getWidth(), rakete.getHeight());  //Das hier ist die Methode, die die Fehlermeldung verursacht
        }
    }    
}

Die Klasse Mover ist Unterklasse von Actor. Diese wurden von unserem Lehrer geschrieben. Falls es weiterhilft kann ich diese auch noch posten.

Bitte helft mir, ich weiß nicht wo mein Fehler liegt. Dies soll keine vorgekaute Hausaufgabe sein, ich möchte nur Wissen, wie ich diesen Fehler wegbekomme.

Danke
 

matches

Mitglied
Hallo,
dein privates Attribut "rakete" wird von dir nie initialisiert. Es hat daher immer den Wert "null". Wenn du nun in Zeile 30 darauf zugreifst, erhältst du die von dir genannte Fehlermeldung.

Du musst also "rakete" vor Verwendung initialisieren.
 

ARadauer

Top Contributor
rufst du ausserhalb schon irgendow new Rakete() auf?

rakete ist in Rakete nicht der Verweis auf das Objekt selber, das ist immer this.

Versuch mal:

world.addObject(new Laser(), this.getWidth(), this.getHeight());
 

Quaxli

Top Contributor
Ich liebe diese Schul-Sachen..... :(

Irgendein Objekt ist nicht instanziiert, vermutlich world oder rakete.
Gib beide Objekte mal mit System.out.println(..) in die Konsole aus, daß Objekt, für das "null" ausgegeben wird, ist Dein Problem.

Noch ein Anmerkung, die 2 Zeilen Code könntest Du auch in eine schreiben:

getWorld().addObject(new Laser(),....).
 

Booty

Mitglied
Danke für die Hilfe soweit. Die Fehlermeldung ist jetzt weg, allerdings erscheint nun das Objekt Laser immer an der Stelle, an der das Objekt "Rakete" ganz zu beginn erscheint.

Hier der Code zur Welt, wo die Rakete erscheint
Code:
public class GameWorld extends World
{

    private Rakete rakete;
    private Igloo igloo;
    public GameWorld()
    {    
        // Create a new world with 20x20 cells with a cell size of 10x10 pixels.
        super(1024, 768, 1);
        rakete = new Rakete("Rakete");
        igloo = new Igloo("Igloo");
        Greenfoot.setSimulationSpeed(85);
        addObject(rakete, 45, 55);
        addObject(igloo, 950, 700);
        GreenfootImage background;
        background = getBackground();
        background.scale(1024, 768);
    }
}
 

Booty

Mitglied
Sie sollen an der Stelle erscheinen, an der das Objekt Rakete sich z.Z. befindet und sich auch in die gleiche Richtung bewegen
 

Booty

Mitglied
Wie finde ich denn heraus, an welcher Koordinate die Rakete ist. Mir fällt dazu bzw. ich kenn nur noch getOneObjectAtOffset(...) ein
 

ARadauer

Top Contributor
@niki: sagt mir jetzt nichts

sorry booty, ich les mich jetzt sicher nicht in eure ominöse 'Greenfoot' api ein, damit ich deine rakete finde....

poste mehr code, frag den lehrer oder deine kollegen.

wobei, würde sehr vernünftig klingen....
int getX()
Return the x-coordinate of the object's current location.
int getY()
Return the y-coordinate of the object's current location.

ich glaube du verwechselst generell breite/höhe mit position....
 

Booty

Mitglied
Genau das wars!

Danke für deine Hilfe!!

edit: und ja, ich verwechsel des öfteren mal die position mit höhe/breite :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Problem neues Objekt erzeugen Java Basics - Anfänger-Themen 4
J neues Object (JLabel) vorab zum Layout hinzufügen , Location setzen, etc? Java Basics - Anfänger-Themen 2
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
J Array vertauschen ohne ein neues anzulegen?! Java Basics - Anfänger-Themen 10
W Neues Lern-Projekt gesucht Java Basics - Anfänger-Themen 8
B Erste Schritte nio oder io für neues Projekt Java Basics - Anfänger-Themen 1
AnnaBauer21 org.w3c.dom.Element - Neues Element hinzufügen Java Basics - Anfänger-Themen 4
C Neues Objekt mit Beziehung zu bereits bestehendem Objekt Java Basics - Anfänger-Themen 4
T Erste Schritte Totaler Noob in Java will was neues lernen Java Basics - Anfänger-Themen 22
E Knopfdruck neues Fenster öffnen Java Basics - Anfänger-Themen 5
F Verweis oder neues Objekt? Java Basics - Anfänger-Themen 8
J Variablen Strings mit Zeilenumbrüchen in neues Array Element Java Basics - Anfänger-Themen 1
F Neues Objekt oder nur ein Verweis? Java Basics - Anfänger-Themen 5
K Erste Schritte Neues Fenster mit Textinhalt öffnen Java Basics - Anfänger-Themen 6
M Code um per jButton ein neues Fenster zu öffnen Java Basics - Anfänger-Themen 3
L OOP Neues Objekt bei jeder Eingabe erstellen (Objekte speichern?) Java Basics - Anfänger-Themen 10
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
A altes JPanel entfernen und neues öffnen Java Basics - Anfänger-Themen 5
J char-Array rückwärts ausgeben und in neues Char-Array speichern Java Basics - Anfänger-Themen 3
P Array reversed in ein neues Array Java Basics - Anfänger-Themen 5
P Vererbung Neues Objekt aus Vorlage erzeugen Java Basics - Anfänger-Themen 1
F Neues Panel und Button unsichtbar Java Basics - Anfänger-Themen 10
M Beim Klicken auf X neues Fenster Java Basics - Anfänger-Themen 4
S Neues Fenster auf Knopfdruck Java Basics - Anfänger-Themen 12
J Button drücken neues Fenster?! Java Basics - Anfänger-Themen 5
M Neues Objekt erzeugen mit Klassennamen oder ohne Java Basics - Anfänger-Themen 5
I Neues Klassenobjekt nicht "ansprechbar" Java Basics - Anfänger-Themen 5
C Button - neues Fenster - Bestellung anzeigen Java Basics - Anfänger-Themen 10
M Neues Objekt? Java Basics - Anfänger-Themen 6
K Neues Bild bei eingabe bestätigung erscheinen Java Basics - Anfänger-Themen 21
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
D Design-Tipps für neues Programm (Excel-Charts-...) Java Basics - Anfänger-Themen 3
M Neues Fenster Java Basics - Anfänger-Themen 2
S Innerhalb eines Fensters ein neues erschaffen Java Basics - Anfänger-Themen 7
D aus einem einzeiligen String ein neues Objekt erstellen Java Basics - Anfänger-Themen 5
K neues Fenster mit Button öffnen Java Basics - Anfänger-Themen 17
D Neues Frame öffnen Java Basics - Anfänger-Themen 7
M Neues Objekt erstellen Java Basics - Anfänger-Themen 3
P neues Objekt Java Basics - Anfänger-Themen 4
J Neues Forum Thema erstellen mit java(httpclient) Java Basics - Anfänger-Themen 11
D Neues Objekt in Methode erstellen möglich? Java Basics - Anfänger-Themen 5
M Neues Fenster öffnen altes schützen Java Basics - Anfänger-Themen 10
S mit clickevent neues formular öffnen Java Basics - Anfänger-Themen 2
K Neues Fenster Öffnen? Java Basics - Anfänger-Themen 18
F jTable - neues Element vorher auf existenz Prüfen Java Basics - Anfänger-Themen 7
B neues Objekt erzeugen Java Basics - Anfänger-Themen 7
E Neues Java Fenster öffnen Java Basics - Anfänger-Themen 4
D Neues ContentPane öffnen Java Basics - Anfänger-Themen 3
G JSP ohne neues Fenster aufrufen. Java Basics - Anfänger-Themen 8
S neues Objekt benennen Java Basics - Anfänger-Themen 3
I Probleme bei "Neues Spiel" Java Basics - Anfänger-Themen 3
P Neues Fenster ueber Hauptfenster Java Basics - Anfänger-Themen 4
T Möchte ein neues Objekt erzeugen mit Wert von anderem Objekt Java Basics - Anfänger-Themen 9
L Wie kann ich auch in einem ActionListener ein neues java Pro Java Basics - Anfänger-Themen 8
gurgi mit button neues Frame öffnen Java Basics - Anfänger-Themen 7
G Neues File mit vorgegebenen Einstellungen erstellen? Java Basics - Anfänger-Themen 7
G neues Objekt der Klasse eines anderen Objekts Java Basics - Anfänger-Themen 3
T Panel entfernen, neues hinzufügen Java Basics - Anfänger-Themen 2
D neues Fenster in GUI Java Basics - Anfänger-Themen 2
S Methode soll ein neues Objekt vom Typ Class XYZ Java Basics - Anfänger-Themen 7
G neues String Array in super() übergeben Java Basics - Anfänger-Themen 3
S vom button ein neues fenster öffnen Java Basics - Anfänger-Themen 1
L neues Fenster und Hauptfenster sperren Java Basics - Anfänger-Themen 11
N Open Source für Anfänger, neues Projekt-> Interesse? Java Basics - Anfänger-Themen 36
I Neues Spiel starten Java Basics - Anfänger-Themen 9
K Neues Fenster per Buttonklick, Texteingabe speichern Java Basics - Anfänger-Themen 9
M removeAll() und neues Hinzufügen Java Basics - Anfänger-Themen 2
A neues Objekt in main methode erstellen Java Basics - Anfänger-Themen 2
N Wie öffne ich ein neues Applet? Java Basics - Anfänger-Themen 4
G neues Paket importieren Java Basics - Anfänger-Themen 2
M [SOLVED]private Daten head - neues objekt? Java Basics - Anfänger-Themen 12
R Spieleprogrammierung Menüeintrag "Neues Spiel" Java Basics - Anfänger-Themen 2
G Neues Bild bei MouseOver Java Basics - Anfänger-Themen 2
X GUI: neues Panel in einer Applikation anzeigen lassen Java Basics - Anfänger-Themen 2
R Gui + neues Fenster Java Basics - Anfänger-Themen 8
bernd Neues JFrame erzeugen? Java Basics - Anfänger-Themen 8
S Neues Fenster/Panel nach Knopfdruck Java Basics - Anfänger-Themen 2
M Kann neues Servlet nicht hinzufügen Java Basics - Anfänger-Themen 5
S in einem PopUp ein neues Popup erzeugen? Java Basics - Anfänger-Themen 5
J neues gui hinzugefügt .... jetzt gehts nicht mehr Java Basics - Anfänger-Themen 10
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben