Executando verificação de segurança...
3

Vou responder baseado no meu conhecimento sobre música e sobre como eu tentaria abordar isso.

Cada nota e cada pausa (silêncio) em uma música tem uma duração, que vai variar de acordo com o andamento da música.

Uma partitura nada mais é que uma representação gráfica da duração das notas e pausas.

Aí é que entra as maneiras de trabalhar isso. Um loop iterando e incrementado até que a variável se controle atinja a duração da música. pode ser algo como setInterval() também. Ao mesmo tempo, é preciso definir flags ou marcadores, que serão comparados com essa timeline. Por exemplo em pseudocódigo: se marcadorA == tempoAtual - 5000ms, instanciar uma nota. O programa iria iterando e testando, e ao encontrar um marcador true, instancia uma bolinha.

Coloquei 5000ms para separar o momento em q ela é instanciada do momento que ela será testada com o imput do usuário. Depois disso ela começaria a descer. No Guitar Hero, o timing pra vc acertar a nota não é exato. Existe uma margem de erro de mais ou menos 1000ms, mas acho q já estou fugindo so escopo

Carregando publicação patrocinada...