 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Luke

Anmeldungsdatum: 14.01.2009 Beiträge: 92 Wohnort: Ostfriesland !
|
Verfasst am: 17.12.2009, 16:59 Titel: 1: Inkey, 2: Fmod |
|
|
Moin Leute!
Ich habe gleich zwei Fragen. Erstens möchte ich die nervige Wartezeit von inkey nicht mehr haben. Hält man nämlich zum Beispiel eine Taste gedrückt, mit der man eine bestimmte Aktion ausführen will, dann wird sie 1mal gleich ausgeführt, und erst nach einer Wartepause solange wiederholt, wie die Taste gedrückt ist. Diese Wartepause stört.
Code: | screen 16, 32, 2
screenset 1, 0
dim as integer x, y
dim as string a
Do
a = inkey
if len(a) = 2 then a = right(a, 1)
if a = "M" then x+=1
if a = "K" then x-=1
if a = "P" then y+=1
if a = "H" then y-=1
line(x, y)-(x+10, y+10),rgb(255,0,0),BF
pcopy 1, 0
cls
loop while a <> chr(27) and a <> "k" |
Mein zweites Problem betrifft die FMOD. Am Anfang meines Programmes lade ich eine recht lange mp3, und spiele diese als Hintergrundmusik ab.
In Jojo's Tutorial (Was mir übrigens sehr gut gefällt) ist von MIDI Musik die Rede. Was ist das? Ich möchte die mp3 nämlich abspielen, ohne am Anfang so lange laden zu müssen. Ich hab' mal versucht statt der .xm Datei meine mp3 mit FMusic abzuspielen, das funktioniert aber nicht. Kann ich vielleicht die Musik in einem Thread laden und im Hauptmodul abspielen, wenn ich das Handle und den Kanal übergebe, die ja sowieso global sind? _________________ ICH war mal schizophren, aber jetzt sind WIR okay. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 17.12.2009, 17:50 Titel: |
|
|
Du kannst SampleLoad und SamplePlay ja einfach direkt nacheinander aufrufen, aber ich empfehle es nicht. Ich würde einfach alles am Anfang in den Speicher laden (und nicht FMOD verwenden).
Zitat: | In Jojo's Tutorial (Was mir übrigens sehr gut gefällt) ist von MIDI Musik die Rede. Was ist das? |
http://de.wikipedia.org/wiki/General_MIDI
Zitat: | Kann ich vielleicht die Musik in einem Thread laden und im Hauptmodul abspielen, wenn ich das Handle und den Kanal übergebe, die ja sowieso global sind? |
Das kannst du machen, wie du lustig bist. Viel helfen wird's aber nicht...
Zitat: | Ich hab' mal versucht statt der .xm Datei meine mp3 mit FMusic abzuspielen, das funktioniert aber nicht. |
Modul- und Stream-Dateien werden in FMOD auch generell getrennt behandelt (daher auch die verschiedenen Funktionsaufrufe FMusic vs. FSound in meinem Tutorial). _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Luke

Anmeldungsdatum: 14.01.2009 Beiträge: 92 Wohnort: Ostfriesland !
|
Verfasst am: 17.12.2009, 18:02 Titel: |
|
|
Laden tue ich es doch mit SampleLoad. Das braucht mir aber zu lange.
Ich starte das Programm, und muss erst einmal kurz warten. Bei mir ist das ja nicht schlimm, aber auf langsameren Rechnern...
Wird denn mit SampleLoad nicht in den Speicher geladen, oder hab ich da was falsch verstanden? Wie soll ich überhaupt ohne FMOD musik laden? _________________ ICH war mal schizophren, aber jetzt sind WIR okay. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 17.12.2009, 19:02 Titel: |
|
|
Letzteres: FMOD Ex. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 17.12.2009, 19:04 Titel: |
|
|
Nun ja, in den Speicher laden kannst du jede Datei, nur kannst du dann vielleicht nichts damit anfangen ...
Damit auch was Hilfreiches von meiner Seite kommt: Die Wartepause beim INKEY kommt daher, dass hier die Tastaturwiederholung ins Spiel kommt (auch in einer Textverarbeitung wird die Eingabe beim Gedrückthalten einer Taste nach dem ersten Zeichen erst kurz pausieren, bevor es weitergeht). Wenn du bei INKEY bleiben willst, hilft dir nur, im System die Wartezeit der Tastaturwiederholung herunter zu setzen. Die bessere Lösung wird hier die Verwendung des Befehls MULTIKEY sein - der testet im Gegensatz zu INKEY nicht, ob ein Zeichen im Buffer liegt, sondern ob die bestimmte Taste gedrückt ist oder nicht. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 17.12.2009, 19:06 Titel: |
|
|
28398 hat Folgendes geschrieben: | Letzteres: FMOD Ex. |
Was 28398 wirklich meint: BASSlib.
(schlussstrich hier, keine weiteren kommentare dazu) _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Luke

Anmeldungsdatum: 14.01.2009 Beiträge: 92 Wohnort: Ostfriesland !
|
Verfasst am: 17.12.2009, 19:09 Titel: |
|
|
Ok, erste Frage ist beantwortet. Die zweite beantworte ich mir mal selbst anhand eurer Beiträge. Hier erstmal Danke, werde mich wahrscheinlich noch mal melden. _________________ ICH war mal schizophren, aber jetzt sind WIR okay. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|