GOOD ENDING

La cola

Añadido por wgaraydesmotivaciones | Comentar(19)
Imágenes, Carteles y Desmotivaciones de

carteles memes desmotivaciones

bueno
2
malo
0
facebook twitter


Comentarios (19)


Alice.
Alice.    
     0 / 0  
Estoy haciendo un desplazamiento lateral 2D y por mi vida no puedo ponerme a trabajar. Así es como me va moviéndome de izquierda a derecha:

Alice.
Alice.    
     0 / 0  
for(var i = 0; i < time; i++)
newVelocityX = (oldVelocityX + accelerationX) * frictionX;

Alice.
Alice.    
     0 / 0  
luego para actualizar mi posición de jugador lo hago

Alice.
Alice.    
     0 / 0  
posiciónX = antiguaPosiciónX + nuevaVelocidadX;

Alice.
Alice.    
     0 / 0  
Esto funciona muy bien y la variable "tiempo" solo tiene la cantidad de ms que han transcurrido desde la última vez que ejecuté la función. La fricción funciona muy bien y estoy feliz de que todo esté bien en la dirección X. Esto es lo que tengo en la dirección Y:

Alice.
Alice.    
     0 / 0  
for(var i = 0; i < time; i++) {
accelerationY += gravityAccelerationY;
newVelocityY = oldVelocityY + accelerationY;
}

Alice.
Alice.    
     0 / 0  
El objeto cae perfectamente debido a la gravedad. Si establezco una aceleración Y negativa cuando el usuario presiona la flecha hacia arriba, entonces puedo incluso hacer que el jugador salte, pero en una computadora rápida salta muy alto y en una computadora vieja salta muy bajo. No estoy seguro de cómo solucionar este problema, pensé que ya lo estaba teniendo en cuenta al ponerlo en el bucle foor como lo hice.

Alice.
Alice.    
     0 / 0  
Parece como si hubiera un intervalo significativo entre la expiración de un viejo temporizador y el comienzo de uno nuevo. Por supuesto, en una computadora lenta, ese intervalo sería más largo. Pero esto es sólo una idea: si es irrelevante, ignórelo. Buena suerte.

Alice.
Alice.    
     0 / 0  
¿Podríamos ver más código? ¿Como el bucle principal del juego?

Alice.
Alice.    
     0 / 0  
Deberá hacer varias cosas para cambiar su código y que funcione correctamente. Hay numerosos errores/afectaciones de rendimiento en el código que publicó.

Alice.
Alice.    
     0 / 0  
Aquí hay un código para hacer los conceptos básicos del juego.

Alice.
Alice.    
     0 / 0  
Código de muestra para el salto:

Alice.
Alice.    
     0 / 0  
if (jump) {
velocityY = -jumpHeightSquared;
}
velocityY += gravityAccelerationY * time;
positionY += velocityY * time;
if (positionY > 0) {
positionY = 0;
height 0
velocityY = 0;
}

Alice.
Alice.    
     0 / 0  
Código de muestra para moverse hacia los lados:

Alice.
Alice.    
     0 / 0  
velocityX += accelerationX * time;
velocityX *= Math.pow(frictionX, time);
positionX += velocityX * time;

Alice.
Alice.    
     0 / 0  
Algunos comentarios sobre el código:

Alice.
Alice.    
     0 / 0  
Las variables de velocidad y posición deben mantener sus valores entre cuadros (supongo que ya lo tienes resuelto).

Alice.
Alice.    
     0 / 0  
La aceleración de gravedad Y y la fricción X son valores constantes, a menos que la gravedad o la fricción cambien.

Alice.
Alice.    
     0 / 0  
Donde reemplacé tus bucles for con * time, usar una sola multiplicación será más rápido que un bucle. La única diferencia sería a velocidades de cuadro bajas o altas velocidades de aceleración, donde la aceleración parecería "acelerarse" de lo que debería ser. Aunque no deberías tener problemas con eso.



Iniciar sesión, para comentar tienes que registrarte.


LOS MEJORES CARTELES DE

Número de visitas: 11428950796 | Usuarios registrados: 2057097 | Clasificación de usuarios
Carteles en la página: 8001289, hoy: 16, ayer: 34
blog.desmotivaciones.es
Contacto | Reglas
▲▲▲

Valid HTML 5 Valid CSS!