.

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

da_poller

Betreff: .

BeitragDo, Jun 26, 2008 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
kann gelöscht werden
  • Zuletzt bearbeitet von da_poller am Di, Jul 01, 2008 11:04, insgesamt einmal bearbeitet

DAK

BeitragDo, Jun 26, 2008 22:06
Antworten mit Zitat
Benutzer-Profile anzeigen
im groben kann ich dir nur raten, bilder nicht in strings zu laden sondern in ints (geht genauso und verbraucht weniger speicher), im genauen fällt mir im moment nix auf...
schau mal, ob das zeug die fehlermeldung auch auftritt, wenn du das ganze direkt nach dem laden zeichnest...

eigentlich sollten type und bild sich nciht an einander stören...
Gewinner der 6. und der 68. BlitzCodeCompo
 

da_poller

BeitragDo, Jun 26, 2008 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
nun habs getestet ging leider auch nciht ..

habs jetzt mal bisl verändert kommt ne generelle frage: kann ich in array z.b. in
leiste(i,1) -->ein bild
leiste(i,2) -->eine int
leiste(i,3) -->eine int

verwalten?

geht bei mir nämlcih irgendwie nciht..

hab mcih wohl zu viel mit strings und rechnerein beschäftigt das ich verlernt habe ein bild zu laden ^^

nunja hier mal mein sauhaufen hocke seit 20 uhr an einer hand voll bilder...

main.bb
Code: [AUSKLAPPEN]

Global run=1
Include "loading.bb"
Graphics 800,600,16,2
SetBuffer BackBuffer()

While run=1
   drawleiste()
   If KeyHit(1) Then run =0
Wend
End

Function drawleiste()
   For i=1 To 3
      DrawImage(leiste(i,1),leiste(i,2),leiste(i,3))
   Next
End Function


und die loading.bb:
Code: [AUSKLAPPEN]

Dim leiste(3,3)
stream=ReadFile("gfx\l.ini")
For i=1 To 3
   leiste(i,1)=LoadImage("gfx\l\"+i+".png")
   leiste(i,2)=ReadLine(stream)
   leiste(i,3)=ReadLine(stream)
Next

irgendwie haut das nciht so hin wie ich will...

Xeres

Moderator

BeitragDo, Jun 26, 2008 22:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Zum ersten Post:
Code: [AUSKLAPPEN]
leiste\posx=Int(ReadLine(stream))
leiste\posy=Int(ReadLine(stream))
leiste\img%=LoadImage("gfx\l\"+i+".png")

Außer zur Übersicht dienen Temporäre Variablen in diesem Fall keinem Zweck, ließe sich so kürzen. Bild(adressen) immer in Int Variablen ablegen.

Warum es im Array nicht funktioniert weiß ich grad nicht zu sagen...
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

da_poller

BeitragDo, Jun 26, 2008 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
ja der erste post kann ignoriert werden .. hab 4 mal geschaut ob die bilder existieren sogar die dateinamen mit c%p in den code übernommen hilft nix.. muss drüber schlafen und morgen inne arbeit wenn ich nix zu schreiben hab fällts ma na ein ^^ xD
 

Shark

BeitragDo, Jun 26, 2008 23:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
 leiste(i,1)=LoadImage("gfx\l\"+i+".png")


Vielleicht liegt hier der fehler?
hinter dem l hast du noch ein Schrägstrich... vielleicht war das nicht beabsichtigt?

mfg Shark
 

Fredko

BeitragFr, Jun 27, 2008 0:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics 640,480,32,2
SetBuffer BackBuffer()

Type button
   Field img
   Field posx
   Field posy
End Type

Global leiste.button

laddat=ReadFile("bild.dat")
Repeat
leiste=New button
name$=ReadLine(laddat)
leiste\img=LoadImage("gfx/"+Mid$(name$,5,1)+".png")
x=ReadLine(laddat)
leiste\posx=x
y=ReadLine(laddat)
leiste\posy=y
Until Eof(laddat)

Print "-"
Print "-"
For leiste=Each button
   Print leiste\posx
   Print leiste\posy
   Print leiste\img$
Next

Function draw()
   For leiste=Each button
      DrawImage(leiste\img,leiste\posx,leiste\posy)
   Next
End Function

WaitKey

Repeat
Cls
draw()
Flip
Until KeyHit(1)

End

So, braucht man nur noch einen Ordner, in dem die BB ist und die bild.dat, deren inhalt könnte so lauten:
Code: [AUSKLAPPEN]
bild2
24
111
bild3
31
222

Und dann noch der gfx Ordner, natürlich ist die Vorraussetzung, dass jeweils zum z.B. "Bild2" auch ein 2.png vorhanden sein, solange man den Code nicht ändert Wink
Die Struktur von bild.dat ist
name, bild oder was auch immer, die 5 stelle ist die zahl für das png
x position
y postion
War zu faul eine komplizierte einleitung oder so zu machen.
Der Code klappt einwandfrei, hab ich getestet Wink
 

da_poller

BeitragFr, Jun 27, 2008 13:29
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm das beispiel ist ja schön und gut .. aber in meinem 3. post glaub hab ich meinen aktuellen code und ich weiß nicht warum DA die bilder nciht geladen werden können..

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group