Un saludo a todos, el día de hoy vengo con un problema.
Cuando la view o cámara sigue a un objeto o a un jugador, se ve que el objeto esta temblando o vibrando cuando la view lo sigue, esto me pasa en el GameMaker-Studio 1.4.9999, pero en versiones anteriores esto no pasaba, ya que me di cuenta que la view en versiones antiguas podia moverse en cualquier coordenada x e y, como por ejemplo: posición x = 18,50 haciendo que el objeto no tiemble cuando la view lo persiga, pero en la última versión de GameMaker Studio la view solo se puede mover en posiciones reales (sin decimal) haciendo que mi objeto tiemble al avanzar la view. Vi en otros foros que se podia usar las funciones float o round para evitar esto pero no logro hacerlo bien y no quiero que me redondee la velocidad o posiciones de mi objeto.
¿Hay alguna solución para corregir este problema? Por favor. Les agradecería mucho su ayuda.
puede usar un objeto como camara aqui le dejo este ejemplo esta sacado de un tutorial de pixelatedPope
tutorial:
[spoiler]
https://youtu.be/_g1LQ6aIJFk
[/spoiler]
codigo:
[gml]
//objCamera
//Evento Create
viewWidth=320; //ancho de su view
viewHeight=256; //largo de su view
windowScale=3; //escalado de su ventana
window_set_size(viewWidth*windowScale,viewHeight*windowScale); //re-escalar ventana
surface_resize(application_surface,viewWidth*windowScale,viewHeight*windowScale); //re-escalar surface de la aplicacion a tamaño de su ventana
//Evento End Step
view_wport[0]=viewWidth*windowScale;
view_hport[0]=viewHeight*windowScale;
if(instance_exists(objPlayer)){
//clampear view al jugador y limites de la room
var xvf=clamp(objPlayer.x-viewWidth/2,0,room_width-viewWidth);
var yvf=clamp(objPlayer.y-viewHeight/2,0,room_height-viewHeight);
//velocidad de la view
var sv=0.1;
//actualizar posicion de nuestra camara
view_xview[0]=lerp(view_xview[0],xvf,sv);
view_yview[0]=lerp(view_yview[0],yvf,sv);
}
[/gml]
Cita de: Jeffrey Faper en Abril 01, 2022, 06:44:24 PM
puede usar un objeto como camara aqui le dejo este ejemplo esta sacado de un tutorial de pixelatedPope
tutorial:
[spoiler]
https://youtu.be/_g1LQ6aIJFk
[/spoiler]
codigo:
[gml]
//objCamera
//Evento Create
viewWidth=320; //ancho de su view
viewHeight=256; //largo de su view
windowScale=3; //escalado de su ventana
window_set_size(viewWidth*windowScale,viewHeight*windowScale); //re-escalar ventana
surface_resize(application_surface,viewWidth*windowScale,viewHeight*windowScale); //re-escalar surface de la aplicacion a tamaño de su ventana
//Evento End Step
view_wport[0]=viewWidth*windowScale;
view_hport[0]=viewHeight*windowScale;
if(instance_exists(objPlayer)){
//clampear view al jugador y limites de la room
var xvf=clamp(objPlayer.x-viewWidth/2,0,room_width-viewWidth);
var yvf=clamp(objPlayer.y-viewHeight/2,0,room_height-viewHeight);
//velocidad de la view
var sv=0.1;
//actualizar posicion de nuestra camara
view_xview[0]=lerp(view_xview[0],xvf,sv);
view_yview[0]=lerp(view_yview[0],yvf,sv);
}
[/gml]
Saludos, amigo. Y te agradezco mucho por tu ayuda, puse en práctica tu código y ya mi jugador no tiembla cuando se mueve la view. De verdad, muchísimas gracias. ✌️😊