Ok,el codigo esta un poco desordenado porque estoy haciendo pruebas,ahora mismo es solo para ir apredendiendo.
Hablando de desorden,he estado mirando tu ejemplo de niveles con sonic y menudo lio,no me he enterado de nada.Creo que es mejor que hagas un video desde cero y explicando paso a paso como hacer una estructura de niveles.
Ahora te explico los problemas que he encontrado,he intentado que la bala del enemigo se dirija a mi nave pero para eso tengo que usar setAngle,pero no me funciona fuera del frame,si lo pongo antes de crear el frame cuando empieza el juego se queda paralizado y tambien pasa con rotate.
Tambien me pasa algo con el "or",que en javascript es ||,cuando lo utilizo se ralentiza el juego y no se puede continuar.
Tambien tenemos la balas enemigas que ya te lo he contado,hay veces que se eliminan al colisionar con mi jugador y otras veces no ,pero como me has dicho lo del sensor lo voy a probar.
----------------------------------------------------------------------------------------------------------
Por ultimo queria preguntarte si hay alguna funcion para colorear los sprites,por ejemplo cuando disparo contra un jefe ,al impactar el disparo podria momentaneamente ponerse de color rojo.