Yo supongo que cuando cambias a otro mundo es porque tu tiene una condición que cuando detecta una tecla de movimiento es pulsada. Vale pues eso es pillar el valor en bruto, sin tratarla ni nada. Yo a lo que me refiero es que tenga un auxiliar float, que cuando detecte el input de WSAD va a incrementarse con el delta (+= delta) y cuando el valor de auxiliar sea tipo 0.5, entonces va a realizar el cambio de mundo. No digo que pillarla en bruto sea malo, pero para esto aunque sea falsear un poco el “paso” puede quedarte mejor para que la transacción no sea tan brusca.