GLBasic forum

Other languages => GLBasic - de => Topic started by: Worebu on 2012-Apr-21

Title: Wo ist mein Hintergrund?
Post by: Worebu on 2012-Apr-21
Hi Leute, ich bin der Neue.
Ich weiss nicht wohin in diesem Forum mit meinem Problem, da habe ich mir gedacht ich hau es hier rein, einer sagt dir schon wo es hingehört.
Also mein Problem ist ganz simpel. Ich mach einen Hintergrund, eine FOR NEXT Schleife mit ein paar Karten, SHOWSCREEN, fertig, sieht gut aus.
Dann einpaar neue Button, SHOWSCREEN, der Hintergrund geht weg, die Buttons sind da.
Nun die Frage: Wie fange ich das an, das alles was ich möchte auch zusehen ist, und auch bleibt ?
Title: Re: Wo ist mein Hintergrund?
Post by: Schranz0r on 2012-Apr-21
so wirds gemacht:
Code (glbasic) Select


WHILE TRUE // kann nur mit Escapetaste beendet werden

   DRAWSPRITE 1,0,0 // Hintergrund
   //Alles was nun hier kommt bzw. gezeichnet wird wird beim überlappen immer in den Vordergrund gezeichnet!


SHOWSCREEN // Zeichne alles
WEND
END


Zeige uns doch bitte deinen Code!

PS.: Willkommen im Forum :good:,  leider falsche Abteilung ;)
Title: Re: Wo ist mein Hintergrund?
Post by: Worebu on 2012-Apr-23
Hi,
danke für die Antwort.
Das ich falsch bin dachte ich mir, aber vieleicht bekomme ich einen Tip wohin mit meinem Post?.
Die Grafiken sind geladen, koordinaten werden korrekt übergeben. Ich sehe allerdings nur
die ersten fünf Karten kurz , und dann der Sprite 53 der an der Mausposition ist.

Mein Code sieht so aus.:
Code (glbasic) Select
// --------------------------------- //
// Project: test
// Start: Monday, April 23, 2012
// IDE Version: 10.283

SETCURRENTDIR("Media") // go to media files
LOCAL mx,my,ma,mb
SETSCREEN 1680,1050,1
GOSUB gfx
WHILE TRUE
MOUSESTATE mx,my,ma,mb
DRAWSPRITE 53, mx,my
SHOWSCREEN
WEND
//
SUB gfx:
LOCAL i
FOR i=1 TO 53
LOADSPRITE i + ".bmp", i    // Karte laden
NEXT
//
FOR i= 1 TO 5
DRAWSPRITE RND(52) + 1, 10 + 220 * i, 600 // Zufallskarte ausgeben
NEXT
//
ENDSUB
[/size]
Title: Re: Wo ist mein Hintergrund?
Post by: Schranz0r on 2012-Apr-23
solltest du schon in der Schleife zeichen!

Code (glbasic) Select
// load cards....
FOR i = 0 TO 51 // 52 cards!
    LOADSPRITE i+".bmp", i
NEXT

// set cardset
LOCAL cards%[]
REDIM cards[5]

FOR i = 0 TO 4 // 5 cards!
    cards[i] = RND(51) // 52 cards???
NEXT


WHILE TRUE

    FOR i = 0 TO 4 // 5 cards!
        DRAWSPRITE cards[i], 50+100*i, 100
    NEXT   
 
SHOWSCREEN
WEND
END
Title: Re: Wo ist mein Hintergrund?
Post by: Worebu on 2012-Apr-23
Bevor ich in der Schleife zeichne müssen alle karten geladen sein. Ich zeichne ja nur 5 Zufallskarten von 52.
Title: Re: Wo ist mein Hintergrund?
Post by: Schranz0r on 2012-Apr-23
siehe meinen Code...
Title: Re: Wo ist mein Hintergrund?
Post by: Worebu on 2012-Apr-23
Jetzt habe ich es gesehen du meintest die While/Wend schleife.
Title: Re: Wo ist mein Hintergrund?
Post by: Schranz0r on 2012-Apr-23
Mit deinem SUB lädst du die Bilder, was ja so OK ist!
ABER: du zeichnest auch die Bilder... und das vor der WHILE-WEND - Schleife.

Du musst es in der Schleife zeichen sonst ist es nach einem durchlauf weg! :D
Title: Re: Wo ist mein Hintergrund?
Post by: Worebu on 2012-Apr-23
Dann muss aber vor die Schleife noch einSchalter damit die nicht immer durchlaufen wird , oder gibs in GLBasic da einen Trick?
Title: Re: Wo ist mein Hintergrund?
Post by: Schranz0r on 2012-Apr-23
Bist neu in Sachen programmieren oder?

WHILE TRUE -WEND läuft solange durch, bis du die ESC-Taste gedrückt hast wobei SHOWSCREEN immer zeichnet.
Willst du also immer deinen Zufall zeichnen, musst du in Variablen zwischenspeichern!
Title: Re: Wo ist mein Hintergrund?
Post by: Worebu on 2012-Apr-23
und das will ich ja gerade nicht. Die Karten sollen nur einmal gezeichnet werden.
Title: Re: Wo ist mein Hintergrund?
Post by: Schranz0r on 2012-Apr-23
Du willst immer neue Karten... keine Interaktion?
Code (glbasic) Select

// load cards....
FOR i = 0 TO 51 // 52 cards!
    LOADSPRITE i+".bmp", i
NEXT

WHILE TRUE

    FOR i = 0 TO 4 // 5 cards!
        DRAWSPRITE RND(51), 50+100*i, 100
    NEXT   
 
SHOWSCREEN
KEYWAIT
WEND
END
Title: Re: Wo ist mein Hintergrund?
Post by: Worebu on 2012-Apr-23
Dann haben wir uns missverstanden, 5 Karten, interaktion, neue Karten oder neue Runde.
Title: Re: Wo ist mein Hintergrund?
Post by: Markus on 2012-Apr-24
So ungefähr?

Bilder laden
Funk Neue Runde aufrufen
Funk Neue Karten aufrufen
--------------------------------------------------
Hauptschleife

               Karten malen

               Eingaben abfragen
      IF KEY(28) //Return Taste
         //Neue Karten aufrufen
      ENDIF

               Taste ESC dann Ende

--------------------------------------------------
Funk Neue Runde
--------------------------------------------------
Funk Neue Karten
--------------------------------------------------
Title: Re: Wo ist mein Hintergrund?
Post by: Worebu on 2012-Apr-24
Danke, das ich da nicht selbst ... habe aber MOUSEWAIT genommen, vielen Dank Euch beiden.
Title: Re: Wo ist mein Hintergrund?
Post by: Markus on 2012-Apr-24
Das hat dann den Nachteil das Du nebenbei keine Taste abfragen kannst,
aber mach einfach erstmal das was Du brauchst. Umbauen kann man immer.
So könnte auch nützlich sein,
Du willst später bestimmt auch ein bischen Bewegung drin haben.
If ichsolljetztwarten Then MOUSEWAIT
Title: Re: Wo ist mein Hintergrund?
Post by: Schranz0r on 2012-Apr-24
Ich glaub hier fehlts schwer an den Grundlagen?
Du bist auch nicht auf meine Frage eingegangen, ob du neu bei der Programmierung bist?!
Title: Re: Wo ist mein Hintergrund?
Post by: Worebu on 2012-Apr-24
Ja, ist alles wieder weg. Sagt dir GFA Basic noch was?
Title: Re: Wo ist mein Hintergrund?
Post by: Markus on 2012-Apr-24
 :offtopic:
@Worebu
Das uralt GFA hatte ich auch mal und dann die 32 Bit Version die Visual Basic geklont hat zu 90%
Habe heute noch ein paar meiner GFA Basic 32 Programme am laufen die ich vor 10 Jahren gemacht habe.
Nur eine OCX und dann liefen die. Sehr erstaunlich.
GFA Basic 32 ist jetzt sogar kostenlos erhältlich,findet man über Wiki.


Title: Re: Wo ist mein Hintergrund?
Post by: Worebu on 2012-Apr-25
Ich hatte GFA noch auf dem Atari ST, und dem PC unter DOS. War eigentlich sehr schön und schnell.