text mit anderen zeichen schreiben

  • GM 8

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

  • text mit anderen zeichen schreiben

    hali halo

    ich frage euch!
    also wie kann ich z.B. noten wie ein text schreiben und dann je nach zeichen in der reihenfolge abgespielt wird?

    bitte antwortet
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Meinst du musikalische Noten? So tonleitermäßig CDEFGAH?
    Die Audio-Engine des GM kann jedenfalls kein Pitching, d.h. du bräuchtest für jede Note nen eigenen Soundeffekt - ich geh also mal davon aus, dass du das hast.
    Für die 7 Ganztöne einer Tonleiter brauchst du also 7 Positionen, an denen du sie speicherst. Und wenn du mit der Note auch gleich den Buchstaben zum Zeichnen speichern willst, ist da die einfachste Lösung ein 2D-Array, z.B. notes[x,n] mit n von 0 bis 6 und x mit komplett beliebig vielen Werten. An jeder x-Koordinate 0 speicherst du dann einen der Soundeffekte, snd_noteC bei [0,0], snd_noteD bei [0,1] und so weiter. Und an der x-Koordinate 1 speicherst du dann die Buchstaben der Note. 'C' bei [1,0], 'D' bei [1,1] usw.
    In das Array kannst du dann auch noch andere Sachen reinschieben, du kannst ja beliebig viele x-Werte besetzen.

    Zum Auslesen empfiehlt sich dann eine Abfrage a lá:

    GML-Quellcode

    1. //Irgendwo im Create-Event:
    2. option=0;
    3. //Irgendwo im Draw-Event
    4. for(i=0;i<7;i+=1){
    5. // Color-coding
    6. if i==option draw_set_color(c_red);
    7. else draw_set_color(c_aqua);
    8. // Der eigentlich wichtige Teil
    9. draw_text(/*irgendein x*/+i*/*irgendein Abstand in Pixeln*/,/*irgendein y*/,notes[1,i]);
    10. }
    Alles anzeigen

    Wenn du an den Positionen [1,n] deines Arrays die entsprechenden Buchstabenstrings gespeichert hast, werden sie dir hiermit gezeichnet. In den Pfeiltasten-Events brauchst du dann nur noch ein paar Zeilen, mit denen du den Wert von option ändern kannst (Hinweis: mod ist dabei ein verdammt nützlicher Operator - damit kannst du nämlich den Wertebereich von option eingrenzen, sodass du nicht irgendwann auf eine Arrayposition zugreifst, die's gar nicht gibt) und im Press-Enter-Event (oder mit welcher Taste du sie auch immer abspielen willst), folgende kurze Zeile:

    GML-Quellcode

    1. sound_play(notes[0,option]);


    Ich hoffe, das hilft einigermaßen. ^^
  • wie soll ich denn die sprites meiner noten benutzen?
    also mit den anstatt Buchstaben noten benutzen ?(
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Ahso, das meintest du. Okay, dann wirst du da ein wenig anders herangehen müssen.
    Die einfachste Variante wäre, einfach entsprechend der Tonhöhe das Sprite einer Note an einer anderen y-Koordinate zu zeichnen, je höher der Ton, desto höher die Position der Note. Wobei "einfach" hier relativ ist; das ist ne Menge fieser Tipparbeit.
    Konkret gesagt müsstest du dir ein System überlegen, wie du eine Note sinnvoll einer Position zuweisen kannst und gleichzeitig das Eingeben der Noten auch noch einigermaßen einfach hältst (die meisten bestehenden Varianten sehen so aus).
    Allerdings hat niemand hier eine Ahnung davon, was du eigentlich bauen willst. Wenn's nur um Knöpfe drücken und Rumklimpern geht, sollte das ganze nicht allzu schwierig zu machen sein, abgesehen von ewigem Getippse. Wenn du allerdings abspielbare Formate und nen entsprechenden Player dafür zusammenbasteln willst: Überleg dir das lieber nochmal, dafür gibt's bedeutend besser geeignete Methoden als den GM.
  • Benutzer online 1

    1 Besucher