Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'sdl2'.

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Discussions communautaires
    • Annonces importantes
    • Suggestions
    • Postulation
    • Présentation des membres
    • Discussions générales
    • Multimédias
    • Jeux vidéos
    • Actualités
    • Aide / Support
    • Études
    • Archives
  • Informatique
    • Projets des membres
    • Autres / Divers / Découvertes
    • Crypto-monnaie(s)
    • Hardware / Electronique
    • Réseaux
    • Gestion de serveur
    • Système d'exploitation : Smartphone
    • Système d'exploitation : Ordinateur
  • Programmation
    • Projets des membres
    • Développement web
    • Développement de logiciels
    • Développement d'applications pour smartphones
    • Outils du développeur
    • Aide / Support
  • Emulation
    • Aion
    • Arma III
    • Dofus
    • Dragonica
    • Emulateurs consoles
    • S4 League
    • FlyFF
    • Grand Theft Auto
    • Minecraft
    • Tera
  • Partenariats
    • <b>WoW Emu - La communauté émulation WoW</b>
    • <b>ActuGaming</b>
    • <b>H-Wars</b>
    • <b>EasyChat - Solution gratuite de chat client et serveur (anciennement Melichat)</b>
    • <b>Le Monde des Lunes</b>
    • <b>DansTonCode</b>

Rechercher les résultats dans…

Rechercher les résultats qui…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Skype


Site web


AIM


MSN


ICQ


Yahoo


Jabber


Tox


Centres d'interêts


Localisation


Niveau d'étude

3 résultats trouvés

  1. cegdd

    [TUTO] installation SDL 2.0

    Salut tout le monde ! en exclusivité pour mes chers Melinyens ... comment installer la bibliothèque SDL2 et ses filles sur code::blocks (windows x32 / x64) ! j'avais dis que je n'expliquerais pas cela pour plusieurs raisons : je ne suis pas un professionnel des installations de bibliothèques je ne vous garanti donc pas la propreté de l'installation. il existe déjà des tutoriels qui traitent ce sujet. (et même des templates tout fait sur develloppez.com !) mais ... je vois beaucoup trop de personnes qui me demandent des conseils là dessus donc je me lance ! 1) le téléchargement : pour être complet vous allez avoir besoin des bibliothèque cité ci-dessous : La SDL : https://www.libsdl.org/download-2.0.php La SDL_image : https://www.libsdl.org/projects/SDL_image/ La SDL_ttf : https://www.libsdl.org/projects/SDL_ttf/ La SDL_mixer : http://www.libsdl.org/projects/SDL_mixer/ sur chaque pages, vous prendrez ce lien : 2) le positionnement des fichiers : maintenant que vous avez tout téléchargé, vous devriez avoir des fichiers en ".tar.gz", décompressez les avec votre logiciel de compression/décompression habituel. les dossiers ainsi obtenu devrais ressembler a ça : ouvrez le dossier entouré en rouge. ne prenez pas les dossiers en x64 même si votre ordinateur est en x64 ! (bien entendu je m’adresse ici a un public tout aussi amateur que moi. si vous savez ce que vous faites et que votre compilateur est en x64, faites ce qu'il vous plait ) copiez maintenant dans chacune des bibliothèque précédemment téléchargées le dossier "include", "bin" et "lib" et fusionnez les avec ceux du compilateur que vous devriez trouver à l'emplacement montré ci-dessous : 3) la configuration : et maintenant ... CODE::BLOCKS !!! créez un nouveau projet vierge "empty project", puis allez dans : vous devriez avoir cette fenêtre ----------------------------------| | assurez vous d'être bien dans la racine ici ! | | v----------------------------------------------------- v vous devez maintenant en premier, cliquer sur "add" et écrire "mingw32", puis parcourir vos fichiers pour lui indiquer tout les fichiers ".a" que vous voyez ci-dessus. Dans le même ordre ! mais ce n'est pas fini ! vous devez ensuite ajouter les dossiers "lib" et "include" de votre compilateur, comme montré ci-dessous ! et enfin : TADAM ! ! ! votre projet est maintenant configuré ! il reste cependant un toouuuuuuut petit détail, pour pouvoir lancer votre ".exe", vous devez copier à coté du .exe toutes les ".dll" que vous trouverez dans le dossier "bin" de chaque bibliothèque ajoutée. et voila ! n'hésitez pas à poser des questions ou à me dire si vous trouvez une erreur. pour essayer la configuration, je vous invite à lire le premier tutoriel sur la SDL2
  2. cegdd

    [TUTO] SDL2.0 #2

    Bonjour à tous ! ça fait un moment que j'en parle, voici la suite du premier cours sur la SDL2 ! malheureusement le temps me manque, le peu de temps dont je dispose, je n'ais pas de connexion internet. la solution la plus simple est donc d'écrire le code source du cours en le SURcommentant le code source qui vas suivre vous montre étape par étape comment animer le personnage de rayman® grâce a la SDL2. //pour le type bool #include <stdbool.h> //pour les atexit #include <stdlib.h> //pour les printf #include <stdio.h> //les includes SDL #include <SDL2/SDL.h> #include <SDL2/SDL_image.h> int main () { //initialisation de la sdl if (SDL_Init (SDL_INIT_VIDEO) < 0) { printf("erreur SDL_Init: %s\n", SDL_GetError()); return EXIT_FAILURE; } atexit(SDL_Quit); //initialisation de la sdl_image if (IMG_Init(IMG_INIT_PNG) < 0) { printf("erreur IMG_Init: %s\n", SDL_GetError()); return EXIT_FAILURE; } atexit(IMG_Quit); //contexte d'affichage SDL_Window *screen; //tampon de rendu SDL_Renderer *renderer; //position de l'écran, de rayman et des différents sprites de rayman SDL_Rect pecran, prayman; SDL_Rect raymantiles[16]; unsigned int temps, tempsbride = 0, tempsanim = 0, index, anim = 0; bool droite = true; //initialisation des positions pecran.x = 0; pecran.y = 0; prayman.w = 120; prayman.h = 136; for(index = 0 ; index < 6 ; index++) { raymantiles[index].x = index*60; raymantiles[index].y = 1100; raymantiles[index].w = 60; raymantiles[index].h = 68; } for(index = 0 ; index < 6 ; index++) { raymantiles[index+6].x = index*60; raymantiles[index+6].y = 68+1100; raymantiles[index+6].w = 60; raymantiles[index+6].h = 68; } for(index = 0 ; index < 4 ; index++) { raymantiles[index+12].x = index*60; raymantiles[index+12].y = 136+1100; raymantiles[index+12].w = 60; raymantiles[index+12].h = 68; } //suppression du curseur de souris SDL_ShowCursor(SDL_DISABLE); //création de la fenêtre screen = SDL_CreateWindow("Rayman_like", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 0, 0, SDL_WINDOW_FULLSCREEN_DESKTOP); //création du tampon de rendu renderer = SDL_CreateRenderer(screen, -1, SDL_RENDERER_ACCELERATED); //récupération de la taille de l'écran SDL_GetWindowSize(screen , &pecran.w , &pecran.h); //mise en position de rayman prayman.x = (pecran.w/2)-(prayman.w/2); prayman.y = (pecran.h*0.65)-(prayman.w/2); // chargement des images SDL_Texture *fond = IMG_LoadTexture(renderer, "fond.jpg"); SDL_Texture *rayman = IMG_LoadTexture(renderer, "rayman.png"); //test d'erreur a la création de la fenêtre, du tampon de rendu et des images. (fonction critiques qui peuvent rencontrer des erreurs if (screen == NULL || renderer == NULL || fond == NULL || rayman == NULL) { printf("erreur: %s\n", SDL_GetError()); return EXIT_FAILURE; } //entrée en boucle principale while(1) { //récupération du temps temps = SDL_GetTicks(); //si le programme tourne depuis "x" ms, on quitte; if (temps >= 7000) { break; } //test pour changer le sprite d'animation si "x" ms sont écoulées if (temps - tempsanim >= 60) { //sauvegarde du temps actuel pour la prochaine itération tempsanim = temps; //sprite suivant anim++; //si le dernier sprite est atteint, on reviens au premier if(anim == 16){anim = 0;} } //bride pour sinchro ecran ~60fps if (temps - tempsbride >= 16) { //assignation du temps actuel pour la prochaine itération tempsbride = temps; //si rayman touche la bordure d'écran a droite, il fait demi tour ! if (prayman.x + prayman.w >= pecran.w) { droite = false; } //si il touche la bordure gauche, il fait de même. else if (prayman.x <= 0) {droite = true;} //vidage du tampon de rendu SDL_RenderClear(renderer); //copie du fond sur le tampon SDL_RenderCopy(renderer, fond, NULL, &pecran); //si rayman vas à gauche if (!droite) { //décrémentation horizontale de la position de rayman. prayman.x -= 5; //copie de rayman (en inversant le sens de l'image) sur le tampon SDL_RenderCopyEx(renderer, rayman, &raymantiles[anim], &prayman, 0,NULL, SDL_FLIP_HORIZONTAL); } //sinon else { //incrémentation horizontale de la position de rayman. prayman.x += 5; //copie de rayman sur le tampon SDL_RenderCopy(renderer, rayman, &raymantiles[anim], &prayman); } //affichage du tampon de rendu sur l'écran. SDL_RenderPresent(renderer); } else { // si l'écran ne suis pas, ont fait une pause. // cela permet de grandement libérer le CPU. SDL_Delay(5); } } //programme terminé return EXIT_SUCCESS; } si vous compilez chez vous, vous devriez avoir un résultat s'approchant de ça: https://www.youtube.com/watch?v=fTFRiKdBPec (a noter qu'ici le déplacement était au clavier et non automatique) pour tout commentaire ou question, je suis présent pour vous répondre voici les fichiers pour ceux qui voudrais le compiler et le modifier pour s’entraîner ----> ICI
  3. cegdd

    [TUTO] SDL 2.0

    Bonjour à tous, Ce tuto a pour but de vous apprendre les bases de la bibliotheque SDL, et plus précisément la 2.0. Les exemples de codes seront rédigés en C car c'est le language dans lequel est écris la SDL, bien que la SDL suporte le C++ et dispose de bindings pour le C#, le Pascal et le Python. j'imagine donc que vous maitrisez votre langage pour la suite. Code minimal Pour tester l'installation et expliquer les premières fonctions voici un code de base. int main (int argc, char *argv[]) { SDL_Init (SDL_INIT_VIDEO); SDL_Window *screen; SDL_Renderer *renderer; screen = SDL_CreateWindow("tuto", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_RESIZABLE); renderer = SDL_CreateRenderer(screen, -1, SDL_RENDERER_ACCELERATED); SDL_RenderPresent(renderer); SDL_Delay(2000); SDL_Quit(); return 0; } SDL_Init (SDL_INIT_VIDEO); Fonction initialisant la sdl. retour : retourne une valeur négative en cas d'erreur. paramètres : SDL_INIT_TIMER sous-système temps SDL_INIT_AUDIO sous-système audio SDL_INIT_VIDEO sous-système video SDL_INIT_JOYSTICK sous-système pour joystick SDL_INIT_HAPTIC sous-système pour le tactile SDL_INIT_GAMECONTROLLER sous-système mannette de jeu SDL_INIT_EVENTS sous-système pour les évènement SDL_INIT_EVERYTHING tout les sous-système au dessus SDL_INIT_NOPARACHUTE ne prend pas en compte les signaux comme SIGSEGV SIGPIPE etc DANGEREUX SDL_CreateWindow("tuto", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_RESIZABLE); fonction créant la fenêtre de notre programme. retour : retourne un pointeur vers la structure "SDL_Window" nouvellement créée. paramètres : le titre de la fenêtre le point x de la fenêtre ou "SDL_WINDOWPOS_CENTERED" et "SDL_WINDOWPOS_UNDEFINED" le point y de la fenêtre ou "SDL_WINDOWPOS_CENTERED" et "SDL_WINDOWPOS_UNDEFINED" la taille horizontale de la fenêtre la taille verticale de la fenêtre encore des flags que voici : SDL_WINDOW_FULLSCREEN plein écran SDL_WINDOW_FULLSCREEN_DESKTOP plein écran a la résolution du bureau SDL_WINDOW_OPENGL fenêtre de contexte pour OpenGL SDL_WINDOW_SHOWN fenêtre visible SDL_WINDOW_HIDDEN fenêtre invisible SDL_WINDOW_BORDERLESS fenêtre sans contour SDL_WINDOW_RESIZABLE fenêtre redimensionnable SDL_WINDOW_MINIMIZED fenêtre minimisée SDL_WINDOW_MAXIMIZED fenêtre agrandie SDL_WINDOW_INPUT_GRABBED window has grabbed input focus SDL_WINDOW_INPUT_FOCUS window has input focus SDL_WINDOW_MOUSE_FOCUS window has mouse focus SDL_WINDOW_FOREIGN pas de fenêtre SDL_WINDOW_ALLOW_HIGHDPI fenêtre en mode High-DPI (SDL2.0.1 ou plus) SDL_CreateRenderer(screen, -1, SDL_RENDERER_ACCELERATED); Créer un renderer (le renderer est la vue, la surface que l'on va afficher à l'écran). retour : retourne un pointeur vers la structure "SDL_Renderer" nouvellement créée. paramètres: le pointeur vers la structure SDL_Window créée précédemment. j'aurais aimé vous expliquer mais malheureusement aucune doc ou tuto n'est clair là dessus du coup, ne vous en occupez pas et donnez -1 comme argument. ce sont encore des flags, vous pouvez en mettre plusieurs. SDL_RENDERER_SOFTWARE rendu calculé par le CPU SDL_RENDERER_ACCELERATED rendu calculé par le GPU (grosse nouveauté de la SDL2.0) SDL_RENDERER_PRESENTVSYNC rendu synchronisé avec le taux de rafraichissement de votre écran SDL_RENDERER_TARGETTEXTURE rendu pour texture SDL_RenderPresent(renderer); fonction affichant le rendu sur l'écran paramètre : le pointeur vers la structure SDL_Renderer créée précédemment. SDL_Delay(2000); fonction qui met le programme en pause pendant x milisecondes paramètre: le nombre de milisecondes SDL_Quit(); fonction qui ferme la sdl explication : si vous lancez ce code, vous devriez avoir une fenêtre noire pendant 2 secondes. c'est tout à fait normal. à bientôt
×
×
  • Créer...