tasten mit tönen (vgl. klavier)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • tasten mit tönen (vgl. klavier)

    hab den anfang meines spiel mit viel hilfe geschafft ...
    3 tasten eines klaviers werden hintereinander gedrückt und abgespielt:

    bild1:

    PHP-Code:

    Brainfuck-Quellcode

    1. stop ()
    2. this.play = function ()
    3. {
    4. gotoAndPlay(2);
    5. }
    6. ----------------------------------------------------------
    7. var noten_mcs = ["c", "d", "e", "f", "g", "a", "h", "c_"];
    8. var mc1 = _root[noten_mcs[random(noten_mcs.length)]];
    9. var mc2 = _root[noten_mcs[random(noten_mcs.length)]];
    10. var mc3 = _root[noten_mcs[random(noten_mcs.length)]];
    11. stop();
    12. abspielen.onRelease = function() {
    13. this.enabled = false;
    14. mc1.play();
    15. mc1.onEnterFrame = function() {
    16. if (this._currentframe == this._totalframes) {
    17. mc2.play();
    18. mc2.onEnterFrame = function() {
    19. if (this._currentframe == this._totalframes) {
    20. mc3.play();
    21. mc3.onEnterFrame = function() {
    22. if (this._currentframe == this._totalframes) {
    23. gotoAndPlay(4);
    24. }
    25. };
    26. }
    27. };
    28. }
    29. };
    30. };
    Alles anzeigen


    bild2:

    tasten (dupliziert):

    Quellcode

    1. stop ()
    2. this.onRelease = function ()
    3. {
    4. gotoAndPlay(2);
    5. }

    is es besser die gleichen tasten (mcs) zu verwenden und nur eine
    unsichtbare schaltfläche darüber zu legen, und mit denen die
    tasten ansprechen

    naja, ...

    ich schaff es einfach nicht, dass ich die töne nachspielen kann
    und kontrolliert wird ob die richtigen töne in der richtigen
    reihenfolge nachgespielt werden
  • nur so ne frage: Das ist ActionScript, oder? Nach PHP sieht es zumindest nicht aus.
    ich hab zwar noch nie ActionScript gecoded, aber die Syntax wirkt ja ganz "normal".

    Also mit unsichtbaren Tasten solltest du da nicht hantieren. Ich machs mal in Pseudocode (da ich kein Flash kann)

    Quellcode

    1. //eingabesequenz - person spielt etwas
    2. liste = [];
    3. i=0;
    4. while(true) {
    5. eingabetaste = value;
    6. liste[i++] = eingabetaste;
    7. if(value == "stoptaste")
    8. break;
    9. }
    10. //eingabesequenz (alternativ) - computer spielt etwas
    11. liste = ["e", "d", "e"];
    12. //überprüfung - person spielt etwas nach
    13. i=0;
    14. while(true) {
    15. if(i == liste.length) {
    16. echo "fertig";
    17. break;
    18. }
    19. eingabetaste = value;
    20. if(liste[i++] != eingabetaste) {
    21. echo 'Fehler';
    22. break;
    23. }
    24. }
    Alles anzeigen
  • Huch,


    Quellcode

    1. while(true) {
    2. eingabetaste = value;
    3. liste[i++] = eingabetaste;
    4. if(value == "stoptaste")
    5. break;
    6. }


    sollte wohl

    Quellcode

    1. while(value != "stoptaste") {
    2. eingabetaste = value;
    3. liste[i++] = eingabetaste;
    4. }


    sein ;)


    Warum? Ist erstens ganz klar übersichtlicher. Wenn man while-true-Schleifen baut, neigt man sehr schnell dazu etwas zu übersehen/vergessen oder nach zwei Wochen es nicht mehr zu verstehen. Ein Beispiel wäre hier die zweite while-true-Schleife, dort gibt es zwei mögliche Ausstiegstpunkte und die sind wild im Code verteilt. Ist bei 10-Zeilen-Schleifen vlt. noch tragbar, aber spätestens wenn die Schleife länger als eine Seite ist, schwer nachzuvollziehen.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]