Olá Paulo, tudo bem com você?
A função KeyPressed() pode receber um evento para executar todas as vezes que a tecla especificada for apertada, ou seja, caso tenhamos uma função que escreve oi na tela quando apertamos a tecla "d", toda vez que essa tecla for apertada vai ser escrito oi na tela. No entanto, essa função é chamada apenas uma vez, ou seja, se você manter a tecla pressionada ela não vai continuar executando.
Já a função KeyIsDown(), checa se uma determinada tecla está sendo apertada e retorna um valor booleano (verdadeiro ou falso). Normalmente é utilizada em comandos condicionais, quando queremos que mais de uma tecla afete o movimento de um elemento. Também pode ser utilizada com um while:
while(KeyIsDown(CODIGO_DA_TECLA_D)){
mostra("oi");
}
assim, enquanto a tecla D estiver pressionada, vai ficar sendo mostrado oi na tela, diferente da KeyPressed() que mostra apenas na hora que a tecla é apertada.
Fico à disposição e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!