Hola, estoy creando un juego en SDL, y éste tiene una cámara.
He creado un array (direction), 0 es ir a la izquierda y 1 es ir a la derecha.
Mi problema es que la cámara va muy lenta, es decir va píxel por píxel y es bastante lento.
Aquí teneis el código:
if(direction[0])
{
camera.x--;
}
else if(direction[1])
{
camera.x++;
}
¿Cómo hago que aumente de píxel en píxel de forma más rápida?
He probado hacer
if(direction[0])
{
camera.x-10;
}
else if(direction[1])
{
camera.x+10;
}
Pero no funciona, espero que me podáis ayudar, gracias.
No sé mucho de C, pero quizá pueda ser así:
if(direction[0])
{
camera.x = camera.x-10;
}
else if(direction[1])
{
camera.x = camera.x+10
}
Si le poner camera.x-10 no guardas el valor, creo que debes asignárselo (no sé si es lo que quieres realmente...).
Espero no haberme equivocado.
Saludos.
//otra forma de hacerlo
// valor del paso
const int step = 10;
if(direction[0])
{
camera.x -= step;
}
else if(direction[1])
{
camera.x += step;
}
Muchisimas gracias, las dos opciones funcionan, os lo agradezco mucho!!!
Problema solucionado!!
Lo estas haciendo mal.
Crea las clases bien, con posibilidad de cambiar la velocidad.
Fuente: Mi experiencia xD
PD: Consejo personal pásate a sfml.
Gracias, lo tendré en cuenta, he pensado muchas veces si pasarme a SFML o Allegro porque SDL es bastante dificil para mi que soy novato, ¿me recomiendas algún tutorial sobre SFML?
Gracias.
Mira lo primero SFML es mejor que todas esas.
lo segundo SDL no es difícil tienes que saber manejarte en c.
tercero SFML usa clases.
cuarto te recomiendo SFML por que yo empece con SDL cuando no tenia conocimientos de SFML y me pase a SFML por que el proyecto SDL esta abandonado.
quinta aquí tienes la documentación.
http://www.sfml-dev.org/documentation/1.6/annotated.php
Cita de: Dr.Hacker++ en 2 Julio 2012, 13:42 PM
Mira lo primero SFML es mejor que todas esas.
lo segundo SDL no es difícil tienes que saber manejarte en c.
tercero SFML usa clases.
cuarto te recomiendo SFML por que yo empece con SDL cuando no tenia conocimientos de SFML y me pase a SFML por que el proyecto SDL esta abandonado.
quinta aquí tienes la documentación.
http://www.sfml-dev.org/documentation/1.6/annotated.php
1) ¿Por qué SFML es mejor que todas esas?
2) ¿Dónde viste que SDL está abandonado?
EDIT: dislexia :P
Cita de: Dr.Hacker++ en 1 Julio 2012, 23:44 PM
Lo estas haciendo mal.
Crea las clases bien, con posibilidad de cambiar la velocidad.
Fuente: Mi experiencia xD
PD: Consejo personal pásate a sfml.
SDL → C
SFML → C++
Implícitamente le estás diciendo que aprenda un nuevo lenguaje ... por más familiares que sean (y con el último estándar, C++11, menos familiares todavía)
Saludos.
P.S → SFML no es ninguna bala de plata, pensá que es una abstracción por arriba de SDL ... a la larga te podés encontrar con limitaciones
Yo he dado mi opinión al chaval.
Leyendo el titulo del post he supuesto que el sabe c++.
Cita de: Dr.Hacker++ en 5 Julio 2012, 22:13 PM
Yo he dado mi opinión al chaval.
Leyendo el titulo del post he supuesto que el sabe c++.
Si no encapsuló a la cámara, si no hizo lo mismo con operaciones vectoriales y sobrecargó operadores ... es por que claramente no trabaja pensando en objetos, y no sabe C++.
Un segundo en este subforo te enseña de cuanta gente cree que programa en C++, y sólo es C mezclado con conceptos de C++ ... y que no pone la cabeza a laburar en términos de objetos.
Saludos.
Tienes razón VertexSymphony pero creo que de eso se tienen que dar cuenta ellos.
Cita de: Dr.Hacker++ en 5 Julio 2012, 22:51 PM
Tienes razón VertexSymphony pero creo que de eso se tienen que dar cuenta ellos.
y tú