"Multitasking"
Übersicht

![]() |
DATISBetreff: "Multitasking" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Blitzer.
Ich möchte Musik einblenden und gleichzeitig eine Benutzerabfrage machen. Die Benutzerabfrage läuft folgendermaßen: Es werden alle Dateien aus dem Ordner "PLAYER" ausgelesen. Dann wird die Endung weggeblendet und man wählt erstmal den Spieler mit den Pfeiltasten. Später kommt die Auswertung der Informationen in der Datei. Das habe ich schon alles, aber das gleichzeitige Einblenden und abfragen geht nicht: Code: [AUSKLAPPEN] Function blendin(chan$,in=1)
count=MilliSecs() If in=1 Then For i#=0 To 1 Step 0.05 ChannelVolume chan,i# Delay 200 Next Else For i#=1 To 0 Step -0.05 ChannelVolume chan,i# Delay 200 Next EndIf End Function Die Einblend (und Ausblend) Funktion. Code: [AUSKLAPPEN] ;ANMELDEN!!!
loginbg=LoadImage("DATA\IMAGES\background.bmp") loginfield=LoadImage("DATA\IMAGES\loginfield.bmp") pw_wrong=LoadImage("DATA\IMAGES\pw_wrong.bmp") music=LoadSound("DATA\MUSIC\mp_action3.mp3") LoopSound music channel=PlaySound(music) DrawBlock loginbg,0,0 Flip blendin(channel) DrawBlock loginfield,80,120 Flip Include "Login.bb" ;130 & 132 ist die Auswahl! (x&y sind zentriert) ;Daten checken spieler=ReadFile("PLAYER\"+user$+".cfg") For i=1 To 7 ReadLine$(spieler) Next pw$=Mid$(ReadLine$(spieler),10) ReadLine$(spieler) ReadLine$(spieler) debugmode$=ReadLine$(spieler) ReadLine$(spieler) ReadLine$(spieler) mode$=ReadLine$(spieler) CloseFile spieler "Start.bb" - wird als erstes ausgeführt. Code: [AUSKLAPPEN] ordner=ReadDir("PLAYER")
;//MAXIMAL 10 SPIELER!!! Dim spiel$(10) variable=0 Repeat A$=NextFile(ordner) If A$<>"" And A$<>"." And A$<>".." Then variable=variable+1 spiel(variable)=A$ EndIf Until A$="" CloseDir(ordner) b=1 Repeat b=b+1 Until spiel(b)="" b=b-1 ;spiel$ (spieler) auf den ersten wert setzen. p=1 FlushKeys Repeat Cls DrawBlock loginbg,0,0 DrawBlock loginfield,80,120 auswahl$=Left$(spiel(p),Len(spiel(p))-4) Color 200,200,200 Text 212,254,auswahl$,1,1 Color 0,0,255 Text 210,252,auswahl$,1,1 Flip If KeyHit(200) Then p=p+1 If KeyHit(208) Then p=p-1 If p<1 Then p=b If p>b Then p=1 Until KeyHit(28) WaitKey user$=auswahl$ "Login.bb" - eine Include von Start.bb Wie schaffe ich es damit? Die Musik soll eine reinfaden und das Loginfield dann sofort sichtbar sein. Danke für die Hilfe im Vorraus. Mfg, Datis |
||
Frauen und Technik?
Männer und BHs? Beides möglich. |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mach die Einblend (und Ausblend) Funktion neu .
Du brauchst ne Startzeit und die aktuelle Zeit , die Differenz bestimmt dann den Wert fürs einblenden . Als Beispiel 5 Sekunden . if Differenz>5 then Differenz=5 Volume=Differenz/5.0 oder Volume=1.0-(Differenz/5.0) Deine Ein/Ausblend Funk. kannste dann immer aufrufen ohne das die den Programm Fluß stört bzw. unterbricht . |
||
![]() |
DATIS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, ich hab's glaube ich nicht ganz verstanden.
Habe jetzt vorm Start der Funktion die Variable start mit MilliSecs()/1000 definiert, um die Sekunden zu erhalten. Jetzt lautet die Funktion: Code: [AUSKLAPPEN] Function blendin(chan$,in=1)
differenz=MilliSecs()/1000 If differenz>5 Then differenz=5 Volume=Differenz/5.0 ChannelVolume chan$,Volume End Function Das Einblenden klappt aber nicht ![]() |
||
Frauen und Technik?
Männer und BHs? Beides möglich. |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
schon fast,aber ich meinte das eher so
und ChannelVolume bekommt den Parameetr nicht als String Code: [AUSKLAPPEN] startzeit=MilliSecs() blendin chan,0,startzeit oder blendin chan,1,startzeit Function blendin(chan,in#,startzeit) differenz#=(MilliSecs()-startzeit)/1000.0 If differenz>5 Then differenz=5 Volume#=in-(Differenz/5.0) ChannelVolume chan$,Volume End Function |
||
![]() |
DATIS |
![]() Antworten mit Zitat ![]() |
---|---|---|
schade, hat bei mir nicht funktioniert: es kam keine musik. | ||
Frauen und Technik?
Männer und BHs? Beides möglich. |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
das muß dann auch 5 sek. aufgerufen werden | ||
![]() |
DATIS |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie meinst du das? mit einer repeat schleife die funktion so oft aufrufen, bis 5 sek um sind? | ||
Frauen und Technik?
Männer und BHs? Beides möglich. |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
In der Schleife wo du die Eingabe entgegen nimmst .
Die Funk. kannste so oft aufrufen wie du willst weil nach den 5 Sek. ist die Musik eingeblendet und dann bleibt sie es auch . Wenn du jetzt ausblenden willst erzeugst du eine neue Startzeit und gibt bei dem Parameter in eine 1 an . Zum testen kannste eine Endlosschleife benutzen die mit Escape unterbrochen werden kann . |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group