Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
progga
Anmeldungsdatum: 26.11.2006 Beiträge: 26
|
Verfasst am: 26.11.2006, 16:02 Titel: FreeBasic und Grafiken |
|
|
Hallo leute,
ich habe mal vor Jahren Qbaisc Programmiert und bin begeistert von freeBasic.
Doch nun zur Frage:
Wie kann ich mehrere Bilder gleichzeitig laden? Ist das Irgendwie ein Array?
Ich habe es mal so versucht:
dim shared bild1(10000) as integer
dim shared bild2(10000) as integer
bload "rocket.bmp", varptr(bild(0))
bload "rocket2.bmp", varptr(bild(1))
put (300,0), bild1
put (0,0),bild2
sleep
Doch so klappt das nicht.
Was bedeutet BLOAD und varptr?
Bin zwar PHP programmierer aber was das bedeutet weiss ich nicht.
Danke! |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 26.11.2006, 16:38 Titel: |
|
|
Erstelle besser einen Puffer mit IMAGECREATE()!
Code: |
screen 18, 32
dim as integer ptr b1, b2
b1 = imagecreate(640, 480)
b2 = imagecreate(100, 100)
bload "datei1.bmp", b1
bload "datei2.bmp", b2
put(0, 0), b1, trans
put(10, 10), b2, trans
imagedestroy b1
imagedestroy b2
|
Mit (Integer-)Pointern (->32 Bit) ist das viel professioneller. Nur nicht vergessen, den
reservierten Speicher wieder freizugeben (-> IMAGEDESTROY).
jb _________________ Elektronik und Programmieren |
|
Nach oben |
|
 |
progga
Anmeldungsdatum: 26.11.2006 Beiträge: 26
|
Verfasst am: 26.11.2006, 16:54 Titel: |
|
|
Hallo jb,
danke!
Aber diese befehle sind mir recht neu ... wärst du so nett und könntest den Code für mich kommentieren?
Also was was bewirkt oder zu bedeuten hat?
Das währe Super!
Danke im vorraus!
p.s: ist ziemlich schwierig wenn man sein leben lang PHP programmiert hat
und nun wieder mit basic anfängt. Vieles wieder vergessen
 |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 26.11.2006, 17:21 Titel: |
|
|
Kein Problem
Code: |
' Bildschirmmodus 640x480x32Bit erstellen
screen 18, 32
' Pointer (= Zeiger) auf den später reservierten Speicherplatz deklarieren
dim as integer ptr b1, b2
' Speicherplatz reservieren (Die Zahlen in den Klammern sind
' die Abmessungen der Bilder)
b1 = imagecreate(640, 480)
b2 = imagecreate(100, 100)
' Dateien (erster Parameter) in reservierten Speicher (zweiter Parameter) laden
bload "datei1.bmp", b1
bload "datei2.bmp", b2
' geladene Dateien anzeigen
put(0, 0), b1, trans
put(10, 10), b2, trans
' evtl. kleine Pause
getkey
' und Speicherplatz wieder freigeben
imagedestroy b1
imagedestroy b2
|
Hoffe das hilft
jb _________________ Elektronik und Programmieren |
|
Nach oben |
|
 |
progga
Anmeldungsdatum: 26.11.2006 Beiträge: 26
|
Verfasst am: 26.11.2006, 17:33 Titel: Danke jb! |
|
|
Yep, da hat sehr geholfen!
Ich freue mich wieder richtig mit basic loszulegen und diverse neue funktionen nutzen zu können.
Super das es so ein Forum gibt und Super das es FreeBasic gibt, sonst dürfte ich wieder meinen alten 486er mit 33Mhz und MS-DOS 6.0 rauskramen.
Wünsche dir einen Schönen Sonntag noch und danke für deine Hilfe! |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
|
Nach oben |
|
 |
|