Wo ist mein Hintergrund?

Previous topic - Next topic

Worebu

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 ?
Intel I5 9600 - RTX 4070, WaKü, 32GB RAM, 1x 512gb + 1x 1Gb NVRAM,  1x4TB + 1x1TB HD

Schranz0r

#1
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 ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Worebu

#2
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]
Intel I5 9600 - RTX 4070, WaKü, 32GB RAM, 1x 512gb + 1x 1Gb NVRAM,  1x4TB + 1x1TB HD

Schranz0r

#3
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
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Worebu

Bevor ich in der Schleife zeichne müssen alle karten geladen sein. Ich zeichne ja nur 5 Zufallskarten von 52.
Intel I5 9600 - RTX 4070, WaKü, 32GB RAM, 1x 512gb + 1x 1Gb NVRAM,  1x4TB + 1x1TB HD

Schranz0r

siehe meinen Code...
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Worebu

Jetzt habe ich es gesehen du meintest die While/Wend schleife.
Intel I5 9600 - RTX 4070, WaKü, 32GB RAM, 1x 512gb + 1x 1Gb NVRAM,  1x4TB + 1x1TB HD

Schranz0r

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
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Worebu

Dann muss aber vor die Schleife noch einSchalter damit die nicht immer durchlaufen wird , oder gibs in GLBasic da einen Trick?
Intel I5 9600 - RTX 4070, WaKü, 32GB RAM, 1x 512gb + 1x 1Gb NVRAM,  1x4TB + 1x1TB HD

Schranz0r

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!
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Worebu

und das will ich ja gerade nicht. Die Karten sollen nur einmal gezeichnet werden.
Intel I5 9600 - RTX 4070, WaKü, 32GB RAM, 1x 512gb + 1x 1Gb NVRAM,  1x4TB + 1x1TB HD

Schranz0r

#11
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
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Worebu

Dann haben wir uns missverstanden, 5 Karten, interaktion, neue Karten oder neue Runde.
Intel I5 9600 - RTX 4070, WaKü, 32GB RAM, 1x 512gb + 1x 1Gb NVRAM,  1x4TB + 1x1TB HD

Markus

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
--------------------------------------------------

Worebu

Danke, das ich da nicht selbst ... habe aber MOUSEWAIT genommen, vielen Dank Euch beiden.
Intel I5 9600 - RTX 4070, WaKü, 32GB RAM, 1x 512gb + 1x 1Gb NVRAM,  1x4TB + 1x1TB HD