Playlist Problem :(

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

Geohound

BeitragSo, Dez 20, 2009 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
jop ihr beiden, des hab ich schon kapiert Smile

Aber bei Types und felder wollt ich das so aufbauen:

Type song
Field path$
Field artist$
Field title$
Field album$
end type


aber wie mach ich das dann später bei der schleife?

zähler+.song\path$= Readline("bla")
....
zähler=zähler+1


???

Achja, der aktuelle Status:

Arrow Musikabspielproblem gelöst, hatte musicchannel nicht globalisiert
Arrow Mit dem obrigen Fix hat sich auch das mit dem Zufall gefixt
Question Letztes Problem: Die schöne Animation(gtrax_player()) wird nimmer abgespielt <---bekomm ich hin Smile
Question Testen ob sich das ganze schön in jedes X-beliebige Prog includen lässt Smile
My Homepage: Geohound.TK

_°| <---This ist Schäuble copy him
[O] into your signature to help him on his way to a "Überwachungsstaat"
Datensammler sind VERBRECHER!

Midimaster

BeitragSo, Dez 20, 2009 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Damit die gtrax_player() immer weiter animiert, braucht sie eine Schleife:
Code: [AUSKLAPPEN]
Function gtrax_player()
    Repeat
        hier die ganze animation
        ....
    Until channelplaying(chn_mainmusic)=0
Return
  • Zuletzt bearbeitet von Midimaster am So, Dez 20, 2009 18:02, insgesamt 2-mal bearbeitet

Jamagin

Betreff: songs playlist

BeitragSo, Dez 20, 2009 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
@geohound

indem du das in eine Funktion packst!

Code: [AUSKLAPPEN]

Function Play()
   For dein.type = each type
   deine typfelder
   und was du machen willst!
end function


lg. Jamagin Cool
Bevor du etwas neues beginnst, erledige das alte

mpmxyz

BeitragSo, Dez 20, 2009 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei Types läuft das so ab:
Einen Eintrag Erstellen:
BlitzBasic: [AUSKLAPPEN]
Referenz.Typename=New Typename
Referenz\Fieldname=blabla
...

In einer Schleife alle Einträge durchgehen:
BlitzBasic: [AUSKLAPPEN]
For Referenz.Typename=Each Typename
Referenz\Fieldname=irgendetwas ;z.B.
...
Next


Auf einen Eintrag mit einem bestimmten "Index" kannst du nicht direkt zugreifen, aber man kann sich notfalls einen Code dafür basteln:
BlitzBasic: [AUSKLAPPEN]
gesucht=10 ;Der Index fängt bei diesem Code bei 0 an.
Local SuchIndex=0
For Referenz.Typename=Each Typename
If SuchIndex=gesucht Then Exit
SuchIndex=SuchIndex+1
Next
If Referenz<>Null ;Wenn der Eintrag gefunden wurde,
;mache irgendetwas damit.
EndIf

mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Midimaster

BeitragSo, Dez 20, 2009 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei Types weiss man nie, ob an Stelle 1 noch das steht, was vor 10 Minuten dort stand. Das Wesen von Types ist ja, dass man Elemente Einfügen, Deleten oder Sortieren kann. Das dürfte besser taugen:

Code: [AUSKLAPPEN]
;Index-basierte Types:

Type Song
    Field Nr%
    Field Path$
    Field Autor$
    ;....
End Type

Referenz.Song=New Song
Referenz\Path="ABC"
Referenz\Nr=1

Referenz.Song=New Song
Referenz\Path="DEF"
Referenz\Nr=2

S.Song= SuchSong(2)
Print S\Path

Function Suchsong.song(Nr%)
    For locSong.Song = Each Song
          If locSong\Nr=Nr Then
               Return locSong
          EndIf
    Next
End Function

Geohound

BeitragSo, Dez 20, 2009 18:56
Antworten mit Zitat
Benutzer-Profile anzeigen
woah, cool Smile
Danke für die ganzen Antworten.

@Midimaster:
Das mit der Schleife wird nicht klappen. Also auf die Idee kam ich auch schon, ABER des soll ja nur mal kurz einblenden, alles anzeigen und wieder ausblenden. Wenn ich das in ner Schleife mach, werden ja alle frames übereinander gestapelt. Blöd. Hab ja kein cls und flip. Ich darf die beiden aber auch nicht reinhauen, da der hintergrund erhalten bleiben soll. Doof :/
My Homepage: Geohound.TK

_°| <---This ist Schäuble copy him
[O] into your signature to help him on his way to a "Überwachungsstaat"
Datensammler sind VERBRECHER!

Jamagin

Betreff: playlist

BeitragSo, Dez 20, 2009 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
@geohound

und warum ned. dann pack alles in funktionen und stell das was erhalten bleiben soll auch erneut in die funktion in die repeat ... until schleife!

Das geht dann

lg. Jamagin Cool
Bevor du etwas neues beginnst, erledige das alte

Midimaster

BeitragSo, Dez 20, 2009 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber, wenn Du willst, dass die Animation durchläuft, musst Du doch eine Zeitlang da drin bleiben, oder?

wieso machst Du es nicht einfach so in der Schleife:

Hintergrund jedes mal neu
Animation drauf
Flip

Wenn die nur 1x durchlaufen soll, dann muss natürlich das UNTIL halt anders heißen

UNTIL GTRAXframe#> irgendwas

Geohound

BeitragSo, Dez 20, 2009 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Des soll ja mal bequem includet werden. Also in ein Spiel. Oder besser in jedes X-beliebige Spiel. Da kenn ich den Hintergrund ja gar nicht. Das ist ja das Problem!
My Homepage: Geohound.TK

_°| <---This ist Schäuble copy him
[O] into your signature to help him on his way to a "Überwachungsstaat"
Datensammler sind VERBRECHER!

Midimaster

BeitragSo, Dez 20, 2009 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
na dann ist die Stelle falsch, wo der Aufruf der gtrax_player() erfolgt. Die muss immer vor einem ev. FLIP in der Hauptschleife sein. Dort wird sie laufend gerufen. Innerhalb der gtrax_player() zeigt sie aber nur dann was an, wenn vorher irgendein Flag ZEIG_ANIM z.b. bei PlayMusic() auf 1 gesetzt wurde. Nachdem Sie die gesamte animation durchlaufen hat, setzt sie selbst das Flag ZEIG_ANIM auf 0.

Jetzt wird sie zwar weiterhin aus dem Hauptprogramm gerufen, zeigt aber nix mehr an, sondern lauert auf das nächste Mal wo irgendwer ZEIG_ANIM auf 1 setzt.

Jamagin

Betreff: playlist

BeitragSo, Dez 20, 2009 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
wozu gibt es Variablen... die man bequem an function übergeben kann?

Dazu sag ich jetzt nix mehr!

lg. Jamagin Cool
Bevor du etwas neues beginnst, erledige das alte

Geohound

BeitragSo, Dez 20, 2009 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Wiedermal eine klasse Idee von dir Smile

Ich machs so, dass wenn die Musik abgespielt wird, Zeig_ANIM=1 ist und wenn die fkt gestartet wird, Zeig_ANIM mitläuft bis 100 also 100 frames lange
Smile

also so:

Code: [AUSKLAPPEN]
Function gtrax_player()
 
   
   If Zeig_ANIM =>1 And Zeig_ANIM<101 Then
 .....CODE.....
      If Zeig_ANIM > 100 Then Zeig_ANIM =0
   EndIf
End Function


Funktioniert aber net ganz, weil der Player verschwindet net oO


EDIT#1

KLAPPT JETZT ALLES!

DANKE AN ALLE, IHR SEID DIE GRÖßTEN!
ganz besonders an Midi-master




EDIT#2

Jetzt fehlt nur noch eine schöne Ausblendanimation Smile
sollt aber kein Problem dar stellen. Falls doch, meld ich mich Very Happy
My Homepage: Geohound.TK

_°| <---This ist Schäuble copy him
[O] into your signature to help him on his way to a "Überwachungsstaat"
Datensammler sind VERBRECHER!

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group