Razón Artificial

La ciencia y el arte de crear videojuegos

SFML – Juego de ejemplo

Escrito por adrigm el 23 de marzo de 2011 en Desarrollo Videojuegos, Noticias, Programación | 2 Comentarios.

Como complemento a los tutoriales de SFML he elaborado un pequeño juego de ejemplo. Se trata del clásico Pong. He intentado comentar el código bastante para que se vea que hace cada parte. Esta todo metido en un único .cpp con fines didácticos para que se vea donde está cada cosa lo ideal es tener clases en archivos separados y con sus respectivos headers.

El juego es sencillo y no está terminado, nada de menús ni puntuaciones. Solo lo básico de la mecánica del juego crear una estructura mayor se salía de los fines del ejemplo.

Para compilarlo en linux solo debes descomprimirlo, entrar en la carpeta desde la línea de comandos y ejecutar:

g++ -o Pong ./pruebas.cpp -lsfml-graphics

Claro está primero tenéis que tener instalado SFML.

2 Comentarios en "SFML – Juego de ejemplo"

  1. kupo dice:

    Hola, cuando intenté compilarlo me salió el siguiente error:

    $ g++ -o Pong ./pruebas.cpp -lsfml-graphics
    In file included from /usr/include/SFML/Window.hpp:40,
    from /usr/include/SFML/Graphics.hpp:32,
    from ./pruebas.cpp:3:
    /usr/include/SFML/Window/OpenGL.hpp:47:23: error: GL/gl.h: No existe el fichero o el directorio
    /usr/include/SFML/Window/OpenGL.hpp:48:24: error: GL/glu.h: No existe el fichero o el directorio

    lo que me faltaba era la libreria glut. Como estoy en debian 6 solo hice:

    #aptitude install freeglut3-dev

    Bueno, espero que le sirva al que le sale el mismo error.
    Gracias por los tutoriales!.
    Saludos!

  2. Joseph dice:

    Buenas! intente compilarlo y me salio todo esto, cada vez que intento compilar algo por ejemplo lo de la ventana me sale un problema asi

    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function main:pruebas.cpp(.text+0x7c): error: undefined reference to ‘sf::VideoMode::VideoMode(unsigned int, unsigned int, unsigned int)’
    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function main:pruebas.cpp(.text+0xe1): error: undefined reference to ‘sf::Window::SetFramerateLimit(unsigned int)’
    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function main:pruebas.cpp(.text+0xec): error: undefined reference to ‘sf::Clock::Clock()’
    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function main:pruebas.cpp(.text+0xfa): error: undefined reference to ‘sf::Window::GetInput() const’
    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function main:pruebas.cpp(.text+0x306): error: undefined reference to ‘sf::Clock::GetElapsedTime() const’
    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function main:pruebas.cpp(.text+0x314): error: undefined reference to ‘sf::Clock::Reset()’
    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function main:pruebas.cpp(.text+0x3c8): error: undefined reference to ‘sf::Window::Close()’
    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function main:pruebas.cpp(.text+0x3dd): error: undefined reference to ‘sf::Window::GetEvent(sf::Event&)’
    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function main:pruebas.cpp(.text+0x463): error: undefined reference to ‘sf::Window::Display()’
    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function main:pruebas.cpp(.text+0x471): error: undefined reference to ‘sf::Window::IsOpened() const’
    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function Pala::Input(sf::Input const&, float):pruebas.cpp(.text+0x7eb): error: undefined reference to ‘sf::Input::IsKeyDown(sf::Key::Code) const’
    /usr/bin/ld: /tmp/cc8Qe9gs.o: in function Pala::Input(sf::Input const&, float):pruebas.cpp(.text+0x84c): error: undefined reference to ‘sf::Input::IsKeyDown(sf::Key::Code) const’
    collect2: ld returned 1 exit status

    no tengo idea de que sucede =S espero me puedan ayudar?
    muchas gracias =)

Deja un comentario