Metronom Loesung
Grundsätzliche Überlegungen
Bei diesem Beispiel dreht sich alles um die Variable Tempo. Sie ist schon vorgefertigt und unter dem Abschnitt Musik zu finden. Ihr Wert wird in bpm (= beats per minute) angegeben und kann jederzeit abgerufen und verändert werden.
Hilfestellungen und Lösung zum Metronom
- "ändern auf" und "ändern um"
- Wichtig ist die Unterscheidung zwischen "ändern auf" und "ändern um".
- "ändern auf" setzt das Tempo auf einen bestimmten Wert.<spoiler text="Block">
music.setTempo(100)
</spoiler>
- "ändern um" verändert das Tempo um einen bestimmten Wert. Das funktioniert sowohl mit positiven als auch negativen Zahlen.
<spoiler text="Block">
input.onButtonPressed(Button.A, function () { music.changeTempoBy(-5) })
</spoiler>
- Dauerhafte Audio- und LED-Ausgabe
- Damit das Tempo zeitgleich mit dem Abspielen der Töne dargestellt wird, sind zwei Blöcke "dauerhaft" nötig. <spoiler text="Block">
basic.forever(function () { basic.showNumber(music.tempo()) }) basic.forever(function () { music.playTone(262, music.beat(BeatFraction.Sixteenth)) music.rest(music.beat(BeatFraction.Whole)) })
</spoiler>
Komplettlösungen
input.onButtonPressed(Button.A, function () { music.changeTempoBy(-5) }) input.onButtonPressed(Button.B, function () { music.changeTempoBy(5) }) music.setTempo(100) basic.forever(function () { music.playTone(262, music.beat(BeatFraction.Sixteenth)) music.rest(music.beat(BeatFraction.Whole)) }) basic.forever(function () { basic.showNumber(music.tempo()) })
- Eine mögliche Lösung