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 ?
so wirds gemacht:
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 ;)
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.:
// --------------------------------- //
// 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]
solltest du schon in der Schleife zeichen!
// 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
Bevor ich in der Schleife zeichne müssen alle karten geladen sein. Ich zeichne ja nur 5 Zufallskarten von 52.
siehe meinen Code...
Jetzt habe ich es gesehen du meintest die While/Wend schleife.
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
Dann muss aber vor die Schleife noch einSchalter damit die nicht immer durchlaufen wird , oder gibs in GLBasic da einen Trick?
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!
und das will ich ja gerade nicht. Die Karten sollen nur einmal gezeichnet werden.
Du willst immer neue Karten... keine Interaktion?
// 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
Dann haben wir uns missverstanden, 5 Karten, interaktion, neue Karten oder neue Runde.
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
--------------------------------------------------
Danke, das ich da nicht selbst ... habe aber MOUSEWAIT genommen, vielen Dank Euch beiden.
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
Ich glaub hier fehlts schwer an den Grundlagen?
Du bist auch nicht auf meine Frage eingegangen, ob du neu bei der Programmierung bist?!
Ja, ist alles wieder weg. Sagt dir GFA Basic noch was?
: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.
Ich hatte GFA noch auf dem Atari ST, und dem PC unter DOS. War eigentlich sehr schön und schnell.