Replace

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

102030

Betreff: Replace

BeitragDo, Aug 05, 2010 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Ich will grad ein kleines Projekt machen und hab grad die Bilder.
Sie heißen Schiff1,Schiff2,Schiff3 usw.

Und da ich sie nicht alle einzeln laden will hab ich mir einen Arry gemacht,
der sie nach der reihe laden soll und dabei beim namen die Zahl hinten immer um 1 erhöt.
Aber bei der ausgabe von den 16 Bildern wird immer nur das erste gezeigt.
Was mach ich falsch?

Code: [AUSKLAPPEN]
Graphics 800,600,16,1
AppTitle"Space Attacc"
Dim Schiffe(15)
   Name$="gfx/Schiff1.png"
   For i=1 To 16
      Schiffe(i-1)=LoadImage(Name)
      e$=i+1
      Replace(Name,i,e)
   Next



While Not KeyDown(1)
   Cls
   For i=0 To 15
      DrawImage(Schiffe(i),i*35,100)
   Next
   Flip
Wend

End

Tennisball

Betreff: Re: Replace

BeitragDo, Aug 05, 2010 14:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Code: [AUSKLAPPEN]
Name$="gfx/Schiff1.png"
   For i=1 To 16
      Schiffe(i-1)=LoadImage(Name)
      e$=i+1
      Replace(Name,i,e) ;<--------- Hier ist der Fehler
   Next


Wie willst du denn z.B. 2 durch etwas ersetzen, wenn die 2 gar nicht vorkommt? Wink

MfG,
Tennisball

Xeres

Moderator

BeitragDo, Aug 05, 2010 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutze Debuglog um heraus zu finden, was da wirklich passiert!

Einfacher wäre:
Code: [AUSKLAPPEN]
   For i=0 To 15
      Schiffe(i)=LoadImage("gfx/Schiff"+i+".png" )
   Next
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)
 

102030

BeitragDo, Aug 05, 2010 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Un dwas soll ic dann machen Question
 

102030

BeitragDo, Aug 05, 2010 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt, danke Very Happy

NightPhoenix

BeitragDo, Aug 05, 2010 14:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit anderen Worten: Du musst den String für die Lade-Routine "Name$" in jedem Durchgang der For-Each-Schleife neu anpassen. Du lädst ja jeden Durchgang immer wieder "Schiff1.png", ein anderes Bild wird nie geladen.
Man kann übrigens auch Strings mit Zahlen addieren (Name + 2 = Name2). Wink Jetz solltest du auf die Lösung kommen.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group