didattici:esempio2sfml
Esempio 2
Prima potrebbe essere necessario installare tutti i pacchetti elencati nella pagina sfml
Poi per compilare questo file si deve usare il comando
gcc main.c -lcsfml-graphics -lcsfml-system -lcsfml-window
- main.c
#include <stdio.h> #include <stdbool.h> #include <stdlib.h> #include <SFML/Audio.h> #include <SFML/Graphics.h> //contiene anche sprite// #include <SFML/Graphics/Texture.h> // /usr/include/SFML/Graphics/Texture.h #include <SFML/Window/Keyboard.h> int main() { sfVideoMode mode = {400, 200, 32}; sfRenderWindow* window=NULL; sfTexture* texture=NULL; sfEvent event; /* Create the main window */ window = sfRenderWindow_create(mode, "SFML Titolone", sfResize | sfClose, NULL); if (!window) return EXIT_FAILURE; /* Create a sprite to display */ sfSprite* sprite=sfSprite_create(); texture = sfTexture_createFromFile("./immag/omino.png", NULL); // spiegato in Texture.h (su windows doppio shash //) if (!texture) return EXIT_FAILURE; sfSprite_setTexture(sprite,texture,false); //Sprite.h /* Start the game loop */ while (sfRenderWindow_isOpen(window)) { /* Process events */ while (sfRenderWindow_pollEvent(window, &event)) { /* Close window : exit */ if (event.type == sfEvtClosed) sfRenderWindow_close(window); else if (event.type == sfEvtKeyPressed ) if(sfKeyboard_isKeyPressed(sfKeyA)==true) // simboli in SFML/Window/Keyboard.h { printf("evento\n"); sfVector2f vec = {10.0f, 0.0f};// Shader.h:/// sfVector2f vec = {5.2f, 6.0f}; sfSprite_move(sprite,vec); } } /* Clear the screen */ sfRenderWindow_clear(window, sfGreen); /* draw, draw, ... TRA CLEAR E DISPLAY . Vedi RenderWindow.h*/ sfRenderWindow_drawText(window, text, NULL); sfRenderWindow_drawSprite(window,sprite,NULL); sfRenderWindow_drawText(window, text, NULL); /* Update the window */ sfRenderWindow_display(window); } /* Cleanup resources */ sfText_destroy(text); sfRenderWindow_destroy(window); return EXIT_SUCCESS; }
didattici/esempio2sfml.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1