This site requires JavaScript, please enable it in your browser!
Greenfoot back
Rudolf
Rudolf wrote ...

2014/3/11

Grenzenbildung

1
2
Rudolf Rudolf

2014/3/11

#
Hallo, ich möchte in meiner Simulation ein Menü schaffen, weiß aber nicht wie ich den Übergang in der Welt gestalten soll. Ich hoffen man versteht wie ich das meine. Ich habe ein Bild als Hintergrund für die Welt genommen. Auf diesem Bild ist auch der Bereich für das Menü in das ich einzelne Button per Programmierung eingefügt hab. Jetzt ist es aber so das das Verhalten der einzelnen Button gleich ist, im Menü und in der Welt. Ein Unterprogramm darf nicht ausgeführt werden solange ein Button noch im Menü liegt, erst wenn dieser in der Welt liegt. Ich hoffe meine Erklärung war verständlich.
Pointifix Pointifix

2014/3/11

#
Hallo Rudolf, normalerweise werden posts im Greenfoot Forum auf Englisch verfasst, da diese Sprache überwiegt. Trotzdem kann ich dir sagen, das du das am besten löst, in dem du mehrere World Classen erstellst, zb World Class Menue und World Class Game, wenn du dann zwischen diesen 2 Welten hin und herschalten willst musst du nur Greenfoot.setWorld(new Worldname()); machen und schon bist du in dieser welt die auch einen anderen hintergrund haben kann. Falls ich damit deine Frage falsch verstanden habe versuche ichs noch hiermit :) Du kannst überprüfen, wieviele Buttons (sofern Button ein eigener Actor ist) noch in der Welt vorhanden sind, und zwar mit getObjects(Button.class); sollte dieser aufruf dann null zurückgeben weist du das kein button mehr vorhanden ist ;) hoffe ich konnte helfen, grüße aus österreich ;)
Pointifix Pointifix

2014/3/11

#
im übrigen das eingefügte bild funktioniert nicht, lad es doch zb auf http://www.fotos-hochladen.net/ hoch und verlink es hier, mach ich immer
Rudolf Rudolf

2014/3/11

#
Rudolf Rudolf

2014/3/11

#
Ach so einfach ist das:) Ich hoffe man kanns jetzt erkennen wie ich es meine. Es soll schon alles auf eine Welt aber zwischen Menu und Desktop soll es eine trennung geben die sich auf die Bedienung der Button und der Mouse bezieht.
Pointifix Pointifix

2014/3/11

#
ah Rudolf aufgrund deines englischen posts habe ich glaub ich verstanden was du willst du kannst ja nur bei der world class mit rechtsklick ein bild einfügen. du willst jedoch das es 2 sind :) also musst du das in deinem code machen, am besten indem du zb: getBackground().drawImage("Imagename.jpg or what else",X-Koord des oberen Ecks, Y-Koord des oberen Ecks); oder du definierst das bild zuvor: private GreenfootImage menue = new GreenfootImage("menue.jpg"); und danach im programm wieder das getBackground().drawImage(...); hoffe das hilft
Rudolf Rudolf

2014/3/17

#
Danke, danke. Kann ich das einfach so schreiben? "getBackground().drawImage("Hintergrund_1.jpg",558, 570); GreenfootImage menue=new GreenfootImage("Hintergrund_1.jpg");" Da bekomme ich immer eine Fehlermeldung:
Pointifix Pointifix

2014/3/17

#
es scheint so als hättest du eine unbekannte Fehlermeldung bekommen? wie ja dortsteht. puhh muss ich erlich sagen mit halben jahr greenfoot erfahrung kann ich das leider nicht beantworten ;) aufjedenfall müsste getBackground().drawImage("imagename.jpg",X,Y); funktionieren, mach ich ja auch immer ;)
erdelf erdelf

2014/3/17

#
du kannst keinen String angeben, du musst ein GreenfootImage geben
1
getBackground().drawImage(new GreenfootImage("Hintergrund_1.jpg"),558, 570);
Pointifix Pointifix

2014/3/18

#
oh stimmt wie vergesslich ich nicht bin, entschuldige rudolf, und danke erdelf für die ausbesserung ;) PS: wird ja zunehmend deutsch hier ;D
Rudolf Rudolf

2014/3/19

#
Mir ist Deutsch lieber :D, im Deutschen Forum kommt schon seit Monaten keiner mehr auf die Seite... Genau so, hatte ich es davor auch in meiner Welt stehen, aber da wird drawImage nicht erkannt. Kann es sein das ich keine passende Bibliothek dafür habe? Welche Bibliothek wird dafür eigentlich benötigt bzw. wie bekomme ich raus welche ich benötige?
erdelf erdelf

2014/3/19

#
naja, greenfoot.GreenfootImage aber die erste Zeile deines codes sollte sowieso
1
import greenfoot.*;
sein
Rudolf Rudolf

2014/3/19

#
Hier mein Code. Es klappt einfach nicht!!!!!!!!!!:( Der Fehler ist in Line 25, immer wieder....
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.List;
import greenfoot.GreenfootImage.*;
import java.awt.*;
import java.awt.event.*;//Event brauchen wir für das Ereigniss, wenn ein Button geklickt wird
import java.awt.Color;
import java.lang.Object;
/**
 * Write a description of class Hintergrund here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class Hintergrund extends World
{
    /**
     * Constructor for objects of class Hintergrund.
     *
     */
    public Hintergrund()
    {   
        // Welterstellung mit 1116 x 624 pixel bei einer größe des Pixel von 1
        //super(916, 624, 1);
        super (1116,624, 1, true);
        getBackground().drawImage(new GreenfootImage("Hintergrund_1.jpg",558, 570));
         
                 
    }
    /**public Menue menue;
    {
        menue=new Menue();
        addObject(menue,558,570);
    }**/
    public Start start;   // definition start erstellt
    {
        start = new Start();
        addObject(start,70,570); //Start Button eingefügt bei Position x=70 x y=570
         
        
    }
    public Stop stop;
    {   
        stop = new Stop();
        addObject(stop,180,570); //Stop Button eingefügt bei Position x=70 x y=570
    }
    public Computer computer;
    {   
        computer = new Computer();
        addObject(computer,300,570); //Computer Button eingefügt bei Position x=300 x y=570
    }
    public Router router;
    {   
        router = new Router();
        addObject(router,390,570); //Router Button eingefügt bei Position x=390 x y=570
    }
    public Verbindung verbindung;
    {   
        verbindung = new Verbindung();
        addObject(verbindung,475,570); //Verbindung Button eingefügt bei Position x=480 x y=570
    }
    public Loeschen loeschen;
    {   
        loeschen = new Loeschen();
        addObject(loeschen,600,570); //Loeschen Button eingefügt bei Position x=585 x y=570
    }
    public Lupe lupe;          
    {   
        lupe = new Lupe();
        addObject(lupe,710,570); //Lupe Button eingefügt bei Position x=690 x y=570
    }    
    public Speichern speichern;
    {   
        speichern = new Speichern();
        addObject(speichern,820,570); //Speichern Button eingefügt bei Position x=300 x y=570
    }                   
    public Bibliothek bibliothek;
    {   
        bibliothek = new Bibliothek();
        addObject(bibliothek,930,570); //Bibliothek Button eingefügt bei Position x=300 x y=570
    }               
    public Zeiger zeiger;
    {   
        zeiger = new Zeiger();
        addObject(zeiger,1040,570); //Zeiger Button eingefügt bei Position x=300 x y=570
    }
}
erdelf erdelf

2014/3/19

#
du hast ne klammer falsch gesetzt
1
getBackground().drawImage(new GreenfootImage("Hintergrund_1.jpg",558, 570));
1
getBackground().drawImage(new GreenfootImage("Hintergrund_1.jpg"),558, 570);
Rudolf Rudolf

2014/3/19

#
Ne, echt? Hab Herzlichen dank. Sitze einfach schon zu lange vor dem Fehler. Kann ich mich jetzt eigentlich auf den Rand des Bildes als Grenze beziehen? Vorher hatte ich ja das Problem das ich keinen Bezugspunkt hatte um Aktionen der Einzelnen Button auf dem Desktop auszuführen und nicht auch schon im Menue.
There are more replies on the next page.
1
2