Schreibmaschine

K

Kebb

Habe leider kein Thema zu gefunden also:
Wie schaffe ich es, dass bei Tastendruck (egal welche Taste, also bei allen) eine kleiner sound aus der bibliothek gespielt wird? Soll in etwa so wie bei einer Schreibmaschine 'klick' machen ;)

Danke schonmal, Kebb
 
Hallo,

es hängt ein wenig davon ab, welche Version von Flash du benutzt. Seit Flash MX gibt es die Key Klasse, welche über Events für einige der Tasten verfügt. So könntest du einen Sound importieren und den auf Tastendruck (halt nur bei den verfügbaren Tasten) abspielen lassen. Solltest du jedoch einen Schreibmaschineneffekt z.B. für ein Input-Textfeld beabsichtigen, so empfehle ich dir, das mit dem onChange-Handler der TextField Klasse zu bewerkstelligen.
Beispiel:

Du importierst einen Sound in die Bibliothek und exportierst ihn für AS in das erste Frame mit einem Identifier (z.B. "klick"). Ausserdem hast du ein Input-Feld mit dem Instanz-Namen "eingabe". Nun codierst du wie folgt:

PHP:
_root.klick = new Sound ();
_root.klick.attachSound ("klick");

_root.eingabe.onChanged = function () {
    _root.klick.start();
}

Dieses Beispiel konnte ich nicht testen, weil ich im Moment nicht zu Hause bin und darum auch gerade kein Flash zur Hand habe. Sollte aber eigentlich funktionieren.

Gruss
 
Hi,

noch ein kleiner Zusatz: Mit der Key-Klasse kannst Du jede beliebige Taste abfangen - entweder den Ton bei allen Tastenanschlägen erklingen lassen, oder nach bestimmten Ascii- oder Codenummern prüfen:
PHP:
var list = new Object();
list.onKeyDown = function() {
    var c = Key.getCode();
    switch(c) {
        case 37: sound1.start(); break; // Cursor links
        case 39: sound2.start(); break; // Cursor rechts
        default: sound3.start();
    }
}
Key.addListener(list);

Gruß
.
 
lue_the_duke hat gesagt.:
Hallo,
Du importierst einen Sound in die Bibliothek und exportierst ihn für AS in das erste Frame mit einem Identifier (z.B. "klick"). Ausserdem hast du ein Input-Feld mit dem Instanz-Namen "eingabe".

Ja ich benutze MX, nur irgendwie geht das nicht. Ich kann bei einem Sound nicht angeben das er fürs AS exportiert wird, das geht nur bei MovieClips, Buttons und so :/

Also es ist für ein Kontaktformular welches sich jedoch innerhalb eines MovieClips "mail" befindet. Es hat 3 Eingabefelder: eingabename, eingabemail & eingabetext bei denen der Sound "click" aus der Bibliothek abgespielt werden soll wenn eine Eingabe stattfindet (Event).
 
Zurück