Sound klingt blechern
Übersicht

gibenBetreff: Sound klingt blechern |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo bin gerade so am rumprobieren.Möchte ein kleinen Shooter machen.Ich möchte gerne, wenn ich auf die Maus klicke der Sound abgespielt wird.Das geht auch,aber wieso klingt der so verzerrt?Wenn ich ihn vor den Mainloop abspiele, dann klingt es sauber?!
Hier der Code :Code: [AUSKLAPPEN] Graphics 800,600,32,2
SetBuffer BackBuffer() Global wiese =LoadImage ("wiese.jpg") Global player = LoadImage ("kreuz.bmp") Global vogel =LoadImage ("vogel.bmp") Global schuss = LoadSound ("schuss.wav") MaskImage player,255,0,255 MaskImage vogel,255,0,255 HidePointer timer = CreateTimer(60) ;loop While Not KeyHit (1) Cls DrawImage wiese,0,0 feind() player() WaitTimer timer Flip Wend End ;endloop Function player() DrawImage player,MouseX(),MouseY() If MouseDown (1)=1 Then PlaySound schuss End Function Function feind() DrawImage vogel,100,100 End Function |
||
E. Urbachehemals "Basicprogger" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nicht getestet, aber
Code: [AUSKLAPPEN] If MouseHit(1) Then PlaySound schuss
sollte es beheben. Schau dir die Hilfe zu MouseHit und MouseDown an. |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
- Zuletzt bearbeitet von E. Urbach am Mi, Okt 29, 2008 20:56, insgesamt einmal bearbeitet
giben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für die Turboschnelle Antwort.Jetz bin ich wieder etwas schlauer ![]() |
||
giben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
so, dann hab ich gleich noch ne Frage.Folgender Code gibt mir die Fehlermeldung "Variable must be a Type" bei der Function "spieler".Und warum zeichnet es mir mehr als nur 5 Vögel auf den Bildschirm?(function erstellefeind)
Danke schon mal Code: [AUSKLAPPEN] Graphics 800,600,32,2
Global wiese =LoadImage ("wiese.jpg") Global player = LoadImage ("kreuz.bmp") Global vogel =LoadImage ("vogel.bmp") Global schuss = LoadSound ("schuss.wav") Global vogel_x= 100,vogel_y=100,treffer=0 Global abschuss = LoadSound ("abschuss.wav") Global warte = 0 MidHandle player SeedRnd MilliSecs() Type gegner Field seite Field x Field y End Type Const rechts=2 Const links=1 ;musik = LoadSound ("traumatic.mp3") ;PlaySound musik MaskImage player,255,0,255 MaskImage vogel,255,0,255 HidePointer timer = CreateTimer(60) ;loop SetBuffer BackBuffer() While Not KeyHit (1) Cls DrawImage wiese,0,0 erstellefeind() feind() spieler() WaitTimer timer Flip Wend End ;endloop Function spieler() DrawImage player,MouseX(),MouseY() If MouseHit (1)=1 Then PlaySound (schuss) If ImagesCollide (vogel,gegn\x,gegn\y,0,player,MouseX(),MouseY(),0) Then treffer=1 EndIf EndIf End Function ;feind erstellen Function erstellefeind() For t = 1 To 5 gegn.gegner = New gegner gegn\x = Rand(100,400) gegn\y = Rand(100,500) Next End Function ;feinde bewegen Function feind() For gegn.gegner = Each gegner DrawImage vogel,gegn\x,gegn\y Next If treffer = 1 PlaySound abschuss treffer = 0 EndIf End Function |
||
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es zeichnet so viele Vögel, weil du in jedem durchgang der Hauptschleife 5 neue erstellst
gegn.gegner muss global sein. |
||
giben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok, hab jetzt gegn.gegner global.wenn ich jetzt aber schiesse, kommt die Meldung "Object does not exist"?
Bezüglich den 5 Vögel ,sollte ich da einen Zähler einbauen? |
||
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kannst du die bilder ins archiv packen und hier ein link reinstellen?
Dann kann ich den Code testen. Wegen den Gegnern: Wann sollen die Gegner auftauchen? Sollen gegner kommen,wenn die ersten 5 tod sind, oder soll zB jede Sekunde ein neuer Gegner kommen? |
||
giben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier der Link : https://www.blitzforum.de/upload/file.php?id=3720
Habe mir das so vorgestellt, dass nicht max. mehr als 10 Gegner auf dem Bildschirm sind, und wenn ich einen abgeschossen habe, kommt z.b. nach 2 Sec. ein neuer. |
||
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kurzes Zwischenergebnis:
Bug ist weg, höchstens 10 Gegner [EDIT] Nach 2 Sekunden kommen neue gegner, Code geändert [EDIT2] Kollision jetzt richtig, nur in der Mitte des Fadenkreuzes, Code geändert Code: [AUSKLAPPEN] Graphics 800,600,32,2 Global wiese =LoadImage ("wiese.jpg") Global player = LoadImage ("kreuz.bmp") Global vogel =LoadImage ("vogel.bmp") Global schuss = LoadSound ("schuss.wav") Global vogel_x= 100,vogel_y=100,treffer=0 Global abschuss = LoadSound ("abschuss.wav") Global warte = 0 Global gegn.gegner,gegneranz,gegnerzeit MidHandle player SeedRnd MilliSecs() Type gegner Field seite Field x Field y End Type Const rechts=2 Const links=1 ;musik = LoadSound ("traumatic.mp3") ;PlaySound musik MaskImage player,255,0,255 MaskImage vogel,255,0,255 HidePointer timer = CreateTimer(60) ;loop SetBuffer BackBuffer() While Not KeyHit (1) Cls DrawImage wiese,0,0 erstellefeind() feind() spieler() WaitTimer timer Flip Wend End ;endloop Function spieler() DrawImage player,MouseX(),MouseY() If MouseHit (1)=1 Then PlaySound (schuss) For gegn.gegner=Each gegner If ImageRectCollide (vogel,gegn\x,gegn\y,0,MouseX(),MouseY(),1,1) Then gegneranz=gegneranz-1 Delete gegn.gegner gegnerzeit=MilliSecs()+2000 EndIf Next EndIf End Function ;feind erstellen Function erstellefeind() If gegnerzeit<MilliSecs() If gegneranz<10 gegn.gegner = New gegner gegn\x = Rand(100,400) gegn\y = Rand(100,500) gegneranz=gegneranz+1 EndIf EndIf End Function ;feinde bewegen Function feind() For gegn.gegner = Each gegner DrawImage vogel,gegn\x,gegn\y Next End Function |
||
giben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke, dann werd ich gleich mal schauen ob ich da durchblicke ![]() |
||
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
bitteschön ![]() Wenns sonst noch fragen gibt, frag nur. |
||
giben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Habs verstanden !! ![]() Und gleich die Nächste Frage: Hab mit von I-net einen Font runtergeladen und mit Code: [AUSKLAPPEN] Global font= LoadFont("BeachType.ttf",40,1,0,0)
SetFont font text,10,10,"hallo" ausgegeben.Aber wieso zeigt es mir den Font nur an, wenn ich die Datei "BeachType.ttf"geöffnet habe? Wenn ich sie schliese, komm nur der standart-Font. |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist der Font im C:\WINDOWS\Fonts Ordner? | ||
giben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein, er ist in meinem Game Ordner,aber ich dachte, wenn ich den Pfad angebe dann geht das?Weil jeder hat doch nicht den Font installiert,oder? | ||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was meinst du mit "schließen"?
FreeFont ![]() Wenn du das meinst ist es kein Wunder. Du musst die Schrift mit LoadFont ![]() ![]() ![]() |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
In der Hilfe steht
Zitat: Ab v1.55 können Fonts auch aus Dateien geladen werden, die nicht im Font-Ordner installiert sind. Allerdings muss man den Pfad und den tatsächlichen Fontnamen eingeben. Eine Schrift wie "Courier New" hat den Dateinamen "Cour.ttf". Man muss aber "Courier New" eingeben. Dahinter folgt noch die Dateiendung (entweder .ttf oder .fon). Beispiel: font=LOADFONT("C:\Spiel\Courier New.ttf",64). Ich empfehle aber den Fontnamen entsprechend umzubenennen - dadurch gibt es dann keine Probleme bei späteren Updates. |
||
giben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab mich da bissel umständlich ausgedrückt ![]() ich meine wenn ich die Datei öffne (BeachType.ttf) um die Schriftart anzuschauen gehts.Sobald ich sie schliese gehts nicht. @Nicdel Das habe ich schon gesehen....löst aber nich mein Probel. |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schreib mal Code: [AUSKLAPPEN] Global font= LoadFont("Beach Type.ttf",40,1,0,0)
|
||
giben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nicdel hat Folgendes geschrieben: Schreib mal Code: [AUSKLAPPEN]
Global font= LoadFont("Beach Type.ttf",40,1,0,0) Hab ich schon. ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group