Sound ab einer bestimmten Uhrzeit abspielen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Timderheld

Betreff: Sound ab einer bestimmten Uhrzeit abspielen

BeitragMi, Jun 17, 2009 16:26
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo, ich habe mal wieder eine Frage und zwar....
wie kann ich ein Sound oder vielmehr eine Music ab einer bestimmten uhrzeit abspielen lassen und ab einer bestimmten uhrzeit wieder aufhören lassen? ich habe schon sehr viel ausprobiert mit if Sätze z.B.
If Stunde < 6 Then
playsound morgens
end if
also ich möchte es um diese uhrzeiten abspielen:
von 0-6 Uhr :nachtsound
von 6-12 Uhr :morgenssound
von 12-20 Uhr :mittagsound
von 20-0 Uhr :abendsound
Freue mich auf gute Antworten!
 

mDave

BeitragMi, Jun 17, 2009 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Currenttime sollte der Befehl sein den du suchst.

Timderheld

BeitragMi, Jun 17, 2009 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
thx. also kann man mit currenttime die zeit bestimmen in der der sound/music abgespielt werden soll?
 

EwokonCrack

BeitragMi, Jun 17, 2009 16:31
Antworten mit Zitat
Benutzer-Profile anzeigen
mit currenttimer bestimmst du aktuelle uhrzeit.. guck doch mal in die hilfe. da stehen alle befehle drin

Timderheld

BeitragMi, Jun 17, 2009 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
hi, ich hab grad ich die hilfe geguckt, aber ich habe ja schon eine spielzeit an dem ich den sound abspielen will.

Goodjee

BeitragMi, Jun 17, 2009 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
was geht bei deinem code nicht? du darfst ihn natürlich nicht mehrmals aufrufen, sonst startest du ganz viele mal die sounds.
also bevor du abspielst gucken ob der sound schon läuft
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Timderheld

BeitragMi, Jun 17, 2009 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
ja ich hab es dann in einem if satz gehabt, ich kann meinen code ja mal posten wie geht das denn, bin neu? Wink

mpmxyz

BeitragMi, Jun 17, 2009 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein,
er gibt dir die momentane Uhrzeit als String zurück.
CurrentTime in der Hilfe.
Die Onlinehilfe ist übrigens auch mal nicht schlecht, um Befehle zu suchen. Smile
Um die Stunde herauszufinden, kannst du ja mal bei den Stringbefehlen vorbeischauen.

P.S.: Ich habe eben auch etwas neues gelernt... Das Beispiel mit dem Ändern der Zeit kannte ich noch nicht...

Edit: Bin ich eben langsam gewesen... Wink
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Timderheld

BeitragMi, Jun 17, 2009 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
hier einfach mal mein code:
Code: [AUSKLAPPEN]

Graphics 1024,768,16,2 ;öffnet den Bildschirm
SetBuffer BackBuffer() ;aktiviert den Buffer

Global ppx = 8*32 ;X-Position des Charackters
Global ppy = 16*32  ;Y-Position des Charackters
Global py = 16     ;Kollisions X-Position des Charackters
Global px = 8     ;Kollisions Y-Position des Charackters
Global scrolly     ;Die Variable für die ScrollY-Position
Global scrollx     ;Die Variable für die ScrollX-Position
Global Sekunde=0 ;die Sekunden Variable
Global Minute=0 ;die Minuten Variable
Global Stunde=0 ;die Stunden Variable
Global Tag=0 ;die Tag Variable
Global leben = 100 ;speichert das Leben :100
Global staerke = 1 ;speichert die Stärke
Global angriff = 10 ;speichert den Angriff
Global schaden = angriff * staerke ;speichert den Schaden, wird mit angriff und Stärke multipliziert
Global erfahrung = 0 ;speichert die Erfahrung
Global naechsteStufe = 100 ;speichert die benötigten Erfahrungspunkte
Global Stufe = 1 ;speichert die Stufe
Global abwehr = 10 ;speichert die Abwehr
Global geld = 100 ;speichert das Geld
Global volume# = 0.4

char = LoadImage("gfx/char.bmp") ;lädt den Charakter
  MaskImage char,255,0,255 ;Hintergrund transparent
Charakterfensterhintergrund = LoadImage("gfx/CharakterFensterHintergrund.bmp") ;lädt das Charakterfenster
Lebenleer = LoadImage("gfx/Leben leer.bmp") ;lädt das leere Leben
staerkeleer = LoadImage("gfx/Stärke leer.bmp") ;lädt die leere Stärke
tileset = LoadAnimImage("gfx/tileset.bmp",32,32,0,182) ;lädt die tilemap
waffenbild = LoadImage("gfx/m4a1_m.bmp") ;lädt das Waffenbild
  MaskImage waffenbild,255,0,255 ;Hintergrund transparent
inventar = LoadImage("gfx/inventar.bmp") ;lädt das Inventar
datumhintergrund = LoadImage("gfx/datumhintergrund.bmp") ;lädt den Datumhintergrund
charakterübersicht = LoadImage("gfx/Charakterübersicht.bmp") ;lädt die Charakterübersicht
abend=PlayMusic("gfx/abends.wav") ;lädt die Hintergrundmusic
PauseChannel abend
mittag=PlayMusic("gfx/mittag.wav")
PauseChannel mittag
nacht=PlayMusic("gfx/nachts.wav")
PauseChannel nacht
ChannelVolume nacht,volume#
morgens=PlayMusic("gfx/morgens.wav")
PauseChannel morgens

Dim map(22,30) ;erstellt eine array mit 2 Werten mit dem Namen map

Data 181,181,181,181,181, 181,181,181,181,181, 181,181,181,181,181, 181,181,181,181,181, 181,181
Data 181,176,176,176,176, 176,176,176,176,176, 176,176,176,176,176, 176,176,176,176,176, 176,004
Data 181,176,009,009,009, 009,009,009,009,009, 009,009,009,009,009, 176,012,012,012,012, 176,004
Data 181,176,009,009,009, 009,009,009,009,009, 009,009,009,009,009, 012,012,012,012,012, 176,004
Data 181,176,009,009,009, 009,009,009,009,009, 009,009,009,009,009, 012,012,012,012,012, 176,004
Data 181,176,009,009,009, 009,009,009,009,009, 009,009,009,009,009, 012,012,012,012,012, 176,004
Data 181,176,009,009,009, 009,009,009,009,009, 009,009,009,009,009, 176,012,012,012,012, 176,004
Data 181,176,176,009,009, 009,176,009,009,176, 176,176,176,176,176, 176,176,176,176,176, 176,004
Data 181,176,009,009,009, 009,176,009,009,176, 009,009,009,009,009, 176,004,004,004,004, 004,004
Data 181,176,009,009,009, 009,176,009,009,009, 009,009,009,009,009, 176,004,004,004,004, 004,004

Data 181,176,009,009,009, 009,176,009,009,009, 009,009,009,009,009, 176,004,004,004,004, 004,004
Data 181,176,009,009,009, 009,176,009,009,176, 009,009,009,009,009, 176,004,004,004,004, 004,004
Data 181,176,176,176,176, 176,176,009,009,176, 176,176,176,176,176, 176,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,008,008,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,008,008,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,008,008,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,008,008,008, 008,008,008,008,008, 008,008,008,008,008, 008,008 
Data 181,004,004,004,004, 004,004,008,008,008, 008,008,008,008,008, 008,008,008,008,008, 008,008
Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004

Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004
Data 181,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004,004,004,004, 004,004

For y = 0 To 29 ;For Schleife
For x = 0 To 21
Read map(x,y) ;tilest liest die Daten aus dem Datenfeld
Next
Next

Repeat ;Hauptschleife

Cls ;Bildschirm wird gelöscht

If KeyHit(1) Then End ;wenn ESC gedrückt wird beendet das Programm

updateclock()

For x = 0 To 21 ;For Schleife
For y = 0 To 29
DrawImage tileset,x*32-scrollx,y*32-scrolly,map(x,y) ;zeichnet die tilemap
MaskImage tileset,255,0,255
Next
Next

If move = 1 Then
If aa > 0
scrolly = scrolly + 2
ppy = ppy + 2
xo = xo + 1
If xo = 16 Then aa = 0:py = py + 1:xo = 0
End If
End If

If move = 2 Then
If aa > 0
scrolly = scrolly - 2
ppy = ppy - 2
xo = xo + 1
If xo = 16 Then aa = 0:py = py - 1:xo = 0
End If
End If

If move = 3 Then
If aa > 0
scrollx = scrollx - 2
ppx = ppx - 2
xo = xo + 1
If xo = 16 Then aa = 0:px = px - 1:xo = 0
End If
End If

If move = 4 Then
If aa > 0
scrollx = scrollx + 2
ppx = ppx + 2
xo = xo + 1
If xo = 16 Then aa = 0:px = px + 1:xo = 0
End If
End If

If KeyDown(205) Then
If map(px+1,py) < 70 Then
If aa < 1 Then
move = 4
aa = 1
End If
End If
End If

If KeyDown(203) Then
If map(px-1,py) < 70 Then
If aa < 1 Then
move = 3
aa = 1
End If
End If
End If

If KeyDown(200) Then
If map(px,py-1) < 70 Then
If aa < 1 Then
move = 2
aa = 1
End If
End If
End If

If KeyDown(208) Then
If map(px,py+1) < 70 Then 
If aa < 1 Then
move = 1
aa = 1
End If
End If
End If

DrawImage char,ppx-scrollx,ppy-scrolly ;zeichnet den Charakter
DrawImage Charakterfensterhintergrund,859,667 ;zeichnet das Charakterfenster
DrawImage Lebenleer,891,730 ;zeichnet das leere Leben
DrawImage staerkeleer,891,745 ;zeichnet die leere Stärke
DrawImage char,860,670 ;zeichnet den Charakter auf dem Charakterfenster
DrawImage waffenbild,865,705 ;zeichnet das Bild der Waffe
DrawImage datumhintergrund,0,718 ;zeichnet den Datumhintergrund

Color 255,255,0 ;Farbe vom vollen Leben
Rect 891,730,leben,5 ;Leben´s Rechteck

Color 0,0,255
Rect 891,745,staerke,5 ;Stärke Recteck

Color 0,0,0
Text 995,724,leben ;gibt das Leben auf dem Bildschirm aus
Text 995,742,staerke ;gibt die Stärke auf dem Bildschirm aus
Text 905,682,"Danny Quinn" ;gibt en Namen auf dem Bildschirm aus
Text 933,707,"M4a1"
Color 0,0,0
Text 10,730,"TAG: "+Tag
Text 10,750,Stunde+":"+Minute+" UHR"

If KeyDown(23) Then
DrawImage inventar,100,100
DrawImage datumhintergrund,600,150
DrawImage Charakterfensterhintergrund,723,150
DrawImage lebenleer,753,207
DrawImage staerkeleer,753,225
Color 255,255,0 ;Farbe vom vollen Leben
Rect 753,207,leben,5 ;Leben´s Rechteck
Color 0,0,255
Rect 753,225,staerke,5 ;Stärke Recteck
Color 0,0,0
Text 758,172,"Danny Quinn"
Color 0,159,0
Text 850,260,geld+"$"
Color 0,0,0
Text 610,160,"TAG: "+Tag
Text 610,180,Stunde+":"+Minute+" UHR"
End If

If KeyDown(46) Then
DrawImage charakterübersicht,32,68
DrawImage char,42,78
Text 100,85,"Danny Quinn"
Text 100,130,"Stufe:                 "+Stufe
Text 100,160,"Erfahrung:             "+erfahrung
Text 100,190,"Nächste Stufe:         "+naechsteStufe
Text 100,220,"Leben:                 "+leben
Text 100,250,"Stärke:                "+staerke
Text 100,280,"Angriff:               "+angriff
Text 100,310,"Schaden:               "+schaden
Text 100,340,"Abwehr:                "+abwehr
End If

If erfahrung >= naechsteStufe Then

Select Stufe

Case 1
naechsteStufe = 400
Case 2
naechsteStufe = 800
Case 3
naechsteStufe = 900
Case 4
naechsteStufe = 1000
Case 5
naechsteStufe = 1100
Case 6
naechsteStufe = 1200
Case 7
naechsteStufe = 1380
Case 8
naechsteStufe = 2800
Case 9
naechsteStufe = 5000
Case 10
naechsteStufe = 8000
Case 11
naechsteStufe = 15000
Case 12
naechsteStufe = 25000
Case 13
naechsteStufe = 40000
Case 14
naechsteStufe = 60000
Case 15
naechsteStufe = 100000
Case 16
naechsteStufe = 120000
Case 17
naechsteStufe = 150000
Case 18
naechsteStufe = 180000
Case 19
naechsteStufe = 250000
Case 20
naechsteStufe = 300000
Case 21
naechsteStufe = 380000
Case 22
naechsteStufe = 450000
Case 23
naechsteStufe = 600000
Case 24
naechsteStufe = 800000
Case 25
naechsteStufe = 1200000
Case 26
naechsteStufe = 1400000
Case 27
naechsteStufe = 1800000
Case 28
naechsteStufe = 2400000
Case 29
naechsteStufe = 3000000
Case 30
naechsteStufe = 3800000
Case 31
naechsteStufe = 4800000
Case 32
naechsteStufe = 6000000
Case 33
naechsteStufe = 7000000
Case 34
naechsteStufe = 8000000
Case 35
naechsteStufe = 9200000
End Select

Stufe = Stufe + 1
EndIf

;_________________________________________
If KeyHit(57) Then
erfahrung = erfahrung +10
End If
;_________________________________________

If leben > 100 Then
leben = 100
EndIf

If leben < 0 Then
leben = 0
geld = geld -100
End If 

If staerke > 100 Then
staerke = 100
End If

If staerke < 0 Then
staerke = 0
End If

If geld < 0 Then
geld = 0
End If

If Stunde > 5 Then
PauseChannel nacht
End If

If Stunde > 5 Then
ResumeChannel morgens
End If

If Stunde > 11 Then
PauseChannel morgens
End If

If Stunde > 11 Then
ResumeChannel mittag
End If

If Stunde > 19 Then
PauseChannel mittag
End If

If Stunde > 19 Then
ResumeChannel abend
End If

If Stunde > 0 Then
PauseChannel abend 
End If

If Stunde > 0 Then
ResumeChannel nacht
End If

If KeyHit(68) Then
SaveBuffer FrontBuffer(), "screen.bmp"
End If

Flip

Forever

;images wieder freigeben
FreeImage tileset
FreeImage char

End ;beendet das Programm

Function Updateclock()

Sekunde=Sekunde+1
If Sekunde > 59 Then
Sekunde = 0
Minute=Minute+1
End If

If Minute > 59 Then
Minute=0
Stunde=Stunde+1
End If

If Stunde > 23 Then
Stunde=0
Tag=Tag+1
End If

End Function







 

mDave

BeitragMi, Jun 17, 2009 16:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke nicht, dass hier jemand dazu bereit ist deinen Code zu durchforsten, zumal 90% des Codes gar nicht zu deiner Frage gehört.

Meinst du jetzt eigentlich Realtime oder die Zeit die du im Spiel selber erschaffst?

ComNik

BeitragMi, Jun 17, 2009 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ehm ich will nicht unhöflich sein,
aber "Einfach mal mein Code" klingt nach hier sucht mein problem und sagt mir wie ichs löse!
Dir wird seit Tagen gesagt die Online Hilfe aufzusuchen, dir Tutorials durchzulesen und ein bisschen zu überlegen bevor du fragst. Programmieren heisst nicht die Befehle zu lernen sondern wie du sie einsetzt...

Zu deiner Frage:
CurrentTime ist schon richtig für oben geschildertes Problem. Du erhälst einen string zurück.
In ihm sind Stunde, Minute und Sekunde gespeichert.
Dann musst du die Stunden in einen abgesonderten String auslesen. Anschliessend in eine Integer umwandeln. Nun hast du eine Integer mit der Stunde. Das kannste nun mit if schleifen überprüfen.

Ich hab jetzt bewusst darauf verzichtet dir code zu liefern. Versuch mal, dass dir selber zu erarbeiten...

so far
WIP: Vorx.Engine

ozzi789

BeitragMi, Jun 17, 2009 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Function Updateclock()

Sekunde=Sekunde+1
If Sekunde > 59 Then
Sekunde = 0
Minute=Minute+1
End If

If Minute > 59 Then
Minute=0
Stunde=Stunde+1
End If

If Stunde > 23 Then
Stunde=0
Tag=Tag+1
End If

End Function

Das ist wohl die Funktion mit der (ingame!) Zeit


Folgender Code für die Sound ausgabe
Code: [AUSKLAPPEN]
If Stunde > 5 Then
PauseChannel nacht
End If

If Stunde > 5 Then
ResumeChannel morgens
End If

If Stunde > 11 Then
PauseChannel morgens
End If

If Stunde > 11 Then
ResumeChannel mittag
End If

If Stunde > 19 Then
PauseChannel mittag
End If

If Stunde > 19 Then
ResumeChannel abend
End If

If Stunde > 0 Then
PauseChannel abend
End If

If Stunde > 0 Then
ResumeChannel nacht
End If


Ist ziemlich falsch, überleg mal so wie ein PC

Ist die Stunde grösser als 5 ok ich pause
Ist die Stunde grösser als 5 ok ich fang wider an
Ist die Stunde grösser als 11 ok ich pause

nicht wirklich sinnvoll oder??
und wieso immer pause und play? soundkarten benchmark? xD

obwohl ich glaube ich weis was du versucht hast
naja so wäre es richtig

Code: [AUSKLAPPEN]

;Diese Variabeln dienen nur zum Verständniss
nacht_a=0
nacht_e=5
morgen_a=5
morgen_e=11
mittag_a=11
mittag_e=19
abend_a=19
abend_e=0

If Stunde>=morgen_a and Stunde=<morgen_e
pauseall()
resumechannel morgen
endif
if Stunde>=mittag_a and Stunde=<mittag_e
pauseall()
resumechannel mittag
endif

;und so weiter und sofort

Function pauseall()
pausechannel mittag
pausechannel abend
pausechannel nacht
pausechannel morgen
endfunction


;nicht vergessen die Sounds Global laden, also Global mittag=loadsound(blubber)




Sonst sollte alles ok sein (also das laden der Sounds)
kleine Sache am Rande:
Die Sounds gehören nicht ins Verzeichniss G(raphic)fx sondern ins Verzeichniss S(ound)fx


@ot
freue mich auf gute Antworten, naja überspann den Bogen nicht, selbst der gutmütigste User hat irgendwann keinen Bock mehr wenn er sieht das der Fragensteller keine Eigeninitative vorweist

und wenn du code postest bitte nich den ganzen nur relevantes Zeug, verdirbt einem die Lust zu helfen wenn manb 401 zeilen code vor sich hat

Ich meine
Code: [AUSKLAPPEN]


Select Stufe

Case 1
naechsteStufe = 400
Case 2
naechsteStufe = 800
Case 3
naechsteStufe = 900
Case 4
naechsteStufe = 1000


https://www.blitzforum.de/foru...1963[code]

hier wurde deine frage bereits beantwortet, mit ein wenig anstrenung könnte man das in 3-4 zeilen umschreiben...
ich werd darauf verzichten es vorzuführen, weil der Lerneffekt=0 wär


mfg Ozzi
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

panky

BeitragSa, Jun 20, 2009 0:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich schreibe in diesem Forum sehr wenig, aber ich lese viel... versuchs doch auch mal. Wink ich meine, du scheinst dich ja wirklich in keinster weise mit bb auseinandergesetzt zu haben und fragst nach sachen, die in jedem tutorial geklärt werden. das soll jetzt nicht unhöflich sein, aber mein liebling war "wie kann ich mir einen charakter aus drei möglichkeiten auswählen" (oder so ähnlich) Wink bevor du ein spiel programmierst, arbeite dich durch die turorials. wenn du schon erfahrungen mit anderen programmiersprachen hast, wirst du schnell einen durchblick erlangen. ich finds aber gut, dass sich auch neue leute für blitz interessieren.

und jetzt hab ich doch nen roman geschrieben.. zwar nicht zum thema, aber zur weltverbesserung. Smile

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group