tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
1039
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    UGG116 UGG116 ist offline Grünschnabel
    Registriert seit
    Jun 2010
    Beiträge
    4
    Guten Abend liebe Gemeinde,
    ich hab eine ganz dummer Frage und ich hoffe, dass ihr mir weiter helfen könnt. Als Schulprojekt sollen wir einen Klassiker in Greenfoot nachprogrammieren. Mir wurde aufgetragen Frogger nach zu programmieren. Ich habe das Projekt soweit fertig, allerdings funktionieren 2 Sachen noch nicht richtig:


    1.: der Frosch soll, wenn er auf einem SObject ist, zusätzlich zu seiner eigenen Geschwindigkeit noch die Geschwindigkeit des SObjects erhalten, sodass er quasi wie auf einem Floß steht. Ich poste einfach mal meinen Quellcode dafür wie ich es gelöst habe:
    http://pastebin.com/Zu0jmzHj Ich habe die Stelle gekennzeichnet bei der Greenfoot mir beim kompilieren einen Fehler ausgibt. Als Fehler Meldung wird geschrieben: "non-static variable SObjectSpeed cannot be referenced form a static context". Was kann ich machen, damit dies nicht auftaucht?

    2.: Das gleiche Problem nochmal, allerdings bei einer Boolean Abfrage in dieser Klasse, ich poste sie auch hier. Das ist auch die Klasse aus der ich in Fall 1 die Variable ziehen will.
    http://pastebin.com/ku5rKeYA

    Ich hoffe ihr könnt mir helfen, am besten mit einer, auch für einen verständlichen Antwort...

    lG UGG116
     

  2. #2
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Bez. Fehler 1: Um SObjectSpeed verwenden zu können, musst du erst einmal eine Instanz von SObject anlegen...

    Bei 2: Wo tritt der Fehler auf?
     

  3. #3
    UGG116 UGG116 ist offline Grünschnabel
    Registriert seit
    Jun 2010
    Beiträge
    4
    Ich erstelle eine Instanz eines solche Objektes allerdings in einer Unterklasse von World, muss ich dann irgendwie darauf verweisen?
    zu 2: Das Problem tritt auf, wenn ich mithilfe dieser Boolean Abfrage prüfen will, ob der Frosch auf dem Baumstamm ist,also in meiner Frosch Klasse (1. Link) eine Bedingung damit stellen will.

    lG UGG116
    Geändert von UGG116 (10.06.10 um 21:56 Uhr)
     

  4. #4
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    1: Natürlich musst du die Instanz verwenden; die Klasse selber ist ja nur eine "Vorlage", wie die Instanzen auszuschauen haben
    Wenn in der Klasse irgendeine int-Variable ist, gibts die eigentlich gar nicht, das bedeutet dann nur, dass jede Instanz der Klasse ein int mit dem Namen hat/haben wird.

    2: Kannst du nicht einfach die Zeilennummer angeben?
    Ich sehe da nichts von einem Baumstamm etc
     

  5. #5
    UGG116 UGG116 ist offline Grünschnabel
    Registriert seit
    Jun 2010
    Beiträge
    4
    ich weiß, das klingt jetzt sehr dumm, aber ich versteh ehrlich gesagt nicht wie man das macht. ich kann hier auchmal meine world klasse linken.
    den zweiten punkt lass ich raus und mache das anders, aber das erste wäre schon wichtig für mich, weil es eine grundsätzliche sache ist. wenn ich das verstanden habe und ein beispiel dafür habe, bringt mir das bestimmt sehr viel
    hier also meine level klasse:
    http://pastebin.com/GSDDHPp2
    nun möchte ich irgendwie an die variable e-k kommen, jenachdem auf welchem objekt der frosch grade ist

    schönen abend ugg116
     

  6. #6
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    So wird das nichts
    Das, was du gerade gepostet hast, ist nichts weiter als eine Vorlage, wie Instanzen von Level auszuschauen haben.
    Jede der Instanzen von level hat dann die int e; int k... in sich drinnen.
    Solange es aber keine einzige Instanz gibt, gibt es auch keine einzige Variable e oder k etc, auf die du zugreifen kannst.

    Hast du nirgends so was wie
    level meinNeuesLevel = new level();
    stehen?
     

  7. #7
    UGG116 UGG116 ist offline Grünschnabel
    Registriert seit
    Jun 2010
    Beiträge
    4
    nein. ich benutze greenfoot, das ist ein programm um die grundlagen der programmierung zu erlernen. wahrscheinlich steht das irgendwo im festen teil, den man aber nicht einsehen kann. es gibt von greenfoot eine methode addedToWorld(), sie gibt zurück, was der wel hinzugefügt wird. ist eine solche methode von dir gesucht? danke dass du dir die zeit nimmst mir zu antworten...
     

  8. #8
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Sehe erst jetzt, dass du Greenfoot ja schon im ersten Beitrag erwähnt hast
    Da ich selber nie damit etwas zu tun hatte, kann ich dir aber leider auch nicht sagen, wie du zu der Instanz kommst.

    ..Einen Versuch wäre das ja wert:
    http://www.greenfoot.org/doc/javadoc/
    unter World/getObjects

    die Objekte kannst du mit instanceof durchprobieren, ob sie zur richtigen Klasse gehören...einen Versuch ists wert.
     

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 30.09.08, 16:22
  2. Drupal static page mit unterseiten, alle auf die static page verweisend
    Von flokli im Forum Content Management Systeme (CMS)
    Antworten: 0
    Letzter Beitrag: 07.06.08, 21:04
  3. Problem mit static-Variable
    Von lodee im Forum Java
    Antworten: 2
    Letzter Beitrag: 15.11.07, 11:01
  4. Frage zu static und static const
    Von Xebov im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 12.07.05, 09:38
  5. Antworten: 8
    Letzter Beitrag: 25.05.04, 15:31