rt-go: 2002-07-22

IE + JavaScript   =>   Sound + Was Du Wolle

Der Geniestreich:

Und jetzt willst Du wohl auch noch die komplette Lösung bei mir abstauben? - Du Geier! - Ok.
  

Wenn Dir diese absichtlich sehr einfach gehaltene Demonstration nicht ausreicht, sieh dir doch einfach mal “Rolfs Geheimnis” an. Dort habe ich genau diese Technik in einem umfangreichen Spiel umgesetzt. Zur Einführung in die Materie ist es allerdings viel zu komplex.

  

Die Problematik:

Um mit Webseiten (HTML) ein Spiel oder Lernprogramm zu erstellen, benötigt man zum Einen dauerhafte Variablen, die alle Seitenwechsel überstehen, und zum Anderen die Möglichkeit, nach Belieben mehrere Aktionen gleichzeitig oder unabhängig voneinander auszulösen.

Zwei Lösungsansätze:

  1. Dauerhafte Variablen gibt es nur, wenn man ein Frameset verwendet, das seine Variablen allen Kindern (Frames) vererbt und zur Verfügung stellt.
  2. Mehrere beliebige Aktionen erhält man z. B. durch selbst definierte Funktionen in Javascript.

Ein weiteres Problem:

Die zuverlässige Wiedergabe von Sound funktioniert beim IE nur mit “bgsound”. Das bedeutet aber: nur beim Laden einer Seite. Um dieses unerträgliche Handicap zu umgehen, habe ich mir die folgenden zwar hinterlistigen, aber zuverlässig funktionierenden Tricks ausgedacht.

Die ultimative Lösung:

  1. Alle benötigten Variablen werden im Frameset, also der Startseite, angelegt und stehen allen Frames zur Auswertung und auch Veränderung zur Verfügung.
  2. Ereignisse, die mehrere Aktionen auslösen sollen, werden mit Javascript-Funktionen abgehandelt.
  3. Damit Sound unabhängig von den Ansichtsseiten abgespielt werden kann, wird ein zusätzliches Frame mit der Breite 0 (Null) und “noresize” angelegt. Es kann und soll nie etwas anzeigen und dient nur als Empfänger von “leeren” Seiten, die aber mit “bgsound” den Sound liefern und zu Gehör bringen. Um einen Sound wieder zu stoppen, wird einfach eine völlig leere Seite (also auch ohne “bgsound”) an das zusätzliche und unsichtbare Frame geschickt.

Durch die Trennung von sichtbarem Anzeigeframe und unsichtbarem Soundframe werden diese beiden Aktionen völlig unabhängig voneinander.

( Geniales ist immer einfach! ;-)

Diese Lösung behebt nicht nur alle genannten Probleme, sondern lässt dem Nutzer auch alle Freiheiten, die nur noch durch dessen (beschränkte) Phantasie [Sorry, aber es muss ja mal gesagt werden.] ihre Grenzen findet.

Viel Spaß und Erfolg!

Dankschreiben bitte an:

mail@rolf-tiemann.de

Für größere Geld- oder auch Sachspenden teile ich Ihnen selbstverständlich gern die nötigen Informationen mit.

[Fisch- und andere Konserven bitte nur,
wenn das Verfallsdatum noch nicht
allzu lange überschritten ist.]

  

Alles gesehen - nix kapiert - alles von vorn gucke!

zur Homepage / Neustart:
rt-go-Homepage