Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Officiels > Programmation > Apprenez à programmer en C ! > [Pratique] Création de jeux 2D en SDL > La gestion des évènements (Partie 1/2) > Lecture des commentaires

La gestion des évènements (Partie 1/2)

Vous devez être inscrit pour pouvoir poster des messages

Page : 1  2  Suivante
Pseudo Commentaire
Page : 1  2  Suivante
Hors ligne pepe # Posté le 07/04/2006 à 23:14:53 - Ce membre a mis la note : 16
LEPV
Avatar
Groupe : Membres
Comme il a été dit dans les commentaires de la news, la sous-partie à propos des claviers azerty/qwerty est étrange :D .

Ayant un clavier AZERTY configuré _normalement_ (pas comme bluestorm qui fait son malin en le changeant en qwerty :D ), SDLK_q représente chez moi la touche Q normale.

Sinon, très bien ce tuto :], on peut déjà faire quelque chose de pas mal, je pense.

Il faut encore attendre un petit tuto sur les collisions pour faire un truc vraiment bien :D

++

Image utilisateur
 
Hors ligne Rafael861 # Posté le 07/04/2006 à 23:38:21 - Ce membre n'a pas mis de note
Groupe : Membres
Très bon tuto! Sinon pour les types de clavier moi si ça me fait le a si j'attends q... Et j'avais vu un programme qui faisait comme M@teo conseille de faire.
Hors ligne Christopher # Posté le 07/04/2006 à 23:56:42 - Ce membre a mis la note : 20
Avatar
Groupe : Membres
Ton travail est vraiment super M@téo... ;)


Image utilisateur

4IM, école d'ingénierie informatique et management, formation des Ingénieurs Managers en Informatique.
 
Hors ligne ddx39 # Posté le 08/04/2006 à 00:10:53 - Ce membre n'a pas mis de note
Avatar
Groupe : Membres
Bien. :)

Image utilisateur
 
Hors ligne C4st # Posté le 08/04/2006 à 00:13:31 - Ce membre a mis la note : 19
1+3+3=7
Groupe : Membres
Encore un tutorial geniale, merci M@t!
Juste une petite chose, enfin je sais pas chez moi ca ne fonctionne pas et d'ailleur je comprend pas pourquoi tu as mis ca...
Au debut de l'exercice pour faire bouger ZoZor, tu as mis ca comme code pour afficher un bmp:
Code : C

zozor = IMG_Load("zozor.bmp");
SDL_SetColorKey(zozor, SDL_SRCCOLORKEY, SDL_MapRGB(zozor->format, 0, 0, 255));


Et biensur, à la compilation j'avais une erreur au niveau de zozor = IMG_Load("zozor.bmp"); et en me souvenant un petit peu de mes cours ^^ j'ai changer IMG_Load en SDL_LoadBMP, et cela fonctionne a merveille.

Voilà voilà, c'est un grand 19/20 pour moi !! Il y a encore 2 semaine, j'avais jamais eu l'ocasion de programmer en C, maintenant, je peux déjà faire presque des petit jeux video marant (en 2D biensur) :D c'est déjà ca merci !

C4st
 
Hors ligne Kermi # Posté le 08/04/2006 à 00:26:22 - Ce membre n'a pas mis de note
www.puissancejeunz.fr
Avatar
Groupe : Membres
OOOhh la jolie balise zCode à la fin du tuto !!!

Dans la conclusion :

Code : Zcode
Faites en sorte que lorsqu'on clique avec la souris sur l'écran, ça colle un Zozor à l'endroit indiqué.
Oui je sais, on l'a déjà fait pour étudier l'évènement "clic de la souris", mais cette fois je veux que l'on puisse "coller" à l'écran 10 Zozors maximum à la fois (alors qu'auparavant on ne pouvait en coller qu'un seul à la fois).</puce>


sinon, tuto interressant, même si je suis complètement largué en C++, je vois au moins que l'on peut faire quelque chose qui est important dans tout programmes/jeux !

++ ;)

Image utilisateur
Image utilisateur
 
Hors ligne talgis00 # Posté le 08/04/2006 à 00:38:32 - Ce membre a mis la note : 19
Groupe : Membres
je te met un joli 19/20 (la perfection est impossible , dommage) :)

exelent tuto : :D
  • attractif
  • simple
  • complet ( ou presque :p )


que demande le peuple o_O ??

j'attend avec impatiente les evenement joystick et le son ;) (meme si j'ai deja commencer par moi meme avec la doc. :-° )

merci pour tout ce que tu fait pour nous qui ne sommes que de pauvres zero :p .
Hors ligne Seb087 # Posté le 08/04/2006 à 02:26:15 - Ce membre n'a pas mis de note
Avatar
Groupe : Membres
Chouette, je vais pouvoir m'occuper :D

Moi j'attend surtout la gestion des textes ;)
Hors ligne tutur19 # Posté le 08/04/2006 à 09:10:14 - Ce membre a mis la note : 20
Avatar
Groupe : Membres
Parfait
Sublime
Magnifique
Grandiose
La Perfection Incarnée
La Pureté du tuto
:D

20/20

LA SINCÉRITÉ : « C’est s’exprimer sans déguiser sa pensée »
LA MODESTIE : « C’est parler de soi-même sans orgueil »
LE RESPECT : « Sans respect aucune confiance ne peut naître »
LE CONTRÔLE DE SOI : « C’est savoir se taire lorsque monte la colère »
LA POLITESSE : « C’est le respect d’autrui »
L’AMITIÉ : « C’est le plus pur des sentiments humains »
L’HONNEUR : « C’est être fidèle à la parole donnée »
LE COURAGE: « C’est le plus pur des sentiments humains »
 
Hors ligne Piwaï # Posté le 08/04/2006 à 12:09:32 - Ce membre a mis la note : 16
Why can't we be friend ?
Avatar
Groupe : Membres
Vraiment bien !! Nan franchement, bravo ;) .

Mais...

Pour la gestion du clavier, il ya un point TRES important sur lequel je proteste, à propos de Quelques optimisations



Citation : M@teo21
Heureusement, il y a Findus SDL_EnableKeyRepeat !


Hum...
Pas bien pas bien du tout !!!!


C'est du bidouillage, pardonne moi l'expression (mais en même temps, c'est pardonnable pour l'utilisation de SDL_WaitEvent. Ca ne le serait pas pour PollEvent).

Même si l'on peut définir le temps d'attente pour considérer que la touche a été réenfoncée, ca reste un trucquage.
Une solution préférable (du moins c'est mon avis) :


Faire un traitement de SDL_KEYDOWN ET SDL_KEYUP

On créé ensuite un tableau, qui contient autant de cases que de touches utilisées par le programme. Et pour chaque touche, on note son état : enfoncé ou relaché (0 ou 1, c'est un tableau de booléen en fait).

Ainsi, a chaque SDL_KEYDOWN pour une touche, on note dans le tableau que la touche est enfoncée
Et a chaque SDL_KEYUP, on note dans le tableau que la touche n'est plus enfoncée.

Cela permet de séparer ainsi la boucle principale en trois partie :

-Récupération des entrées (avec pollevent)
-Traitement des informations
-Affichage des graphismes

Bref, même si a ce stade c'est pas vraiment génant, je pense qu'il faut poser de bonnes bases dès le départ.

Néanmoins, si ce que je dis vous parait discutable, pas de problème je lirai tout point de vue avec plaisir et attention :D .

@++

Piwaï

http://www.piwai.info
"La violence est le dernier refuge de l'incompétence". Isaac Asimov, Fondation.
Créateur de 2H4U : Too Hard For You et découvrez aussi BisouLand.
 
Hors ligne M@teo21 # Posté le 08/04/2006 à 12:31:44 - Ce membre n'a pas mis de note
Doh ! Nuts. Mmh, donuts !
Avatar
Admins
Ce que tu dis me paraît discutable en effet !
Mais y'aura pas de jaloux puisque ta méthode sera expliquée plus tard (pê même dès le prochain chapitre ;) )

Ce qui se conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.

Nicolas Boileau (je suis fan)
Suivez l'aventure du SdZ et de Simple IT sur notre blog !
 
Hors ligne Piwaï # Posté le 08/04/2006 à 13:51:22 - Ce membre a mis la note : 16
Why can't we be friend ?
Avatar
Groupe : Membres
Très bien alors ;) Je me doutais bien quand même que tu avais du prévoir d'aborder le problème.
C'étais simplement le bidouillage qui me génait, car en réalité, ca ne sert que très peu fréquemment (du moins il me semble)... Mais bon si c'est expliqué après... Pas di prob :p

@++

Piwaï

http://www.piwai.info
"La violence est le dernier refuge de l'incompétence". Isaac Asimov, Fondation.
Créateur de 2H4U : Too Hard For You et découvrez aussi BisouLand.
 
Hors ligne -Ne0- # Posté le 08/04/2006 à 15:12:07 - Ce membre a mis la note : 19
Avatar
Groupe : Membres
et un autre 19.75 / 20 :D

juste une question (un point que tu aurais pu précisé, qui t'a couté 0.25 points :p )

comment récupérer la valeur du déplacement de la souris ? Exemple : +1 sur x, ou -1 sur y.
-> faut-il stocker la dernière position connu dans une variable et faire la différence entre nouvelle position et dernière position connue ?
-> ou existe-t-il parmis les sous-variable de event une qui indique le déplacement ?

sinon bien joué pour le tuto, il est très clair (à mon goût ^^ )

- Ne0 -

Tuto sur le JavaScript
--> c'est par ici !
 
Hors ligne crazyman140 # Posté le 08/04/2006 à 16:43:11 - Ce membre a mis la note : 20
Avatar
Groupe : Membres
Merci, grace à ce chapitre on peut faire tout ce que l'on veut( enfin presque).

OS: Debian Sid
Navigateur: Firefox 3
 
Hors ligne edhel # Posté le 08/04/2006 à 22:25:52 - Ce membre a mis la note : 19
Alias Bill_raise
Avatar
Groupe : Membres
Super :p ! Tout simplement exelent, le tutoriel est trés bien fait, trés bien expliqué.

Seul probléme :( , enfin plutot un oubli, comme il a été cité plus bas, la détéction de colision aurait été un point important à rajouter, avant de nous envoyer essayer de faire des jeux par nous même, sinon le tutoriel est d'une trés bonnee qualité

Je donne donc à celui-ci la modeste note de 19/20. Car personne n'est parfait, Pas même Mateo, sisi je vous assure :lol: (ne me frape pas :D )

Image utilisateur
Image utilisateur
(\__/)
(O.o )
(> < ) This is Bunny. Copy Bunny and this attached message into your signature to help him on his quest for world domination.
 
Hors ligne BjO # Posté le 08/04/2006 à 23:00:50 - Ce membre a mis la note : 20
TuPerdsTaViiie,ALaaaGagner!!
Avatar
Groupe : Membres
Vraiment exelent ce chapitre, je vais maintenent pouvoir prendre plaisir en fesant des exercices, parceque c'est vrai qu'avant c'etait pas genial.

PS : si vous voulez imprimer tous les tutos de C/C++, prevoyer au moin 3cm de feuilles.(oui je l'ai fait !)
 
Hors ligne Piwaï # Posté le 09/04/2006 à 08:59:41 - Ce membre a mis la note : 16
Why can't we be friend ?
Avatar
Groupe : Membres
-->edhel : la collision entre 2 images, ou la souris et une image, ce n'est pas du tout un évènement.

La SDL ne comprend aucune fonctionne qui permette de faire ca nativement :( .

Mais ca n'est pas très génant :D , il n'est pas difficile de recréer soit même des fonctions de collisions, d'autant plus que l'on utilise des techniques différentes à chaque fois suivant ce que l'on veut faire :p .

De toute façon, en cherchant bien, tu devrais pouvoir trouver sans problème des bibliothèques pour gérer des collisions ;) . Mais ca n'a rien a voir avec les évènements, donc il est normal que M@téo21 n'ai rien mis la :D .

http://www.piwai.info
"La violence est le dernier refuge de l'incompétence". Isaac Asimov, Fondation.
Créateur de 2H4U : Too Hard For You et découvrez aussi BisouLand.
 
Hors ligne Chahine # Posté le 09/04/2006 à 11:08:25 - Ce membre a mis la note : 20
Avatar
Groupe : Membres
Citation : M@téo
De plus, ce que je vais vous apprendre là est la base de tous les jeux faits en SDL, donc ça vaut doublement le coup d'être très attentif


Petit clin d'oeil malicieux d'un élève ravi ;) >> 20/20
Hors ligne Freeben666 # Posté le 09/04/2006 à 17:32:34 - Ce membre a mis la note : 19
Groupe : Membres
Très bon tuto
Juste une question: Pourquoi le pointeur de ma souris ne s'affiche pas en plein écran, meme en utilisant la fonction SDL_ShowCursor??

PS: chez moi le a correspond bien au q et vice-versa...
Hors ligne M@teo21 # Posté le 09/04/2006 à 22:29:25 - Ce membre n'a pas mis de note
Doh ! Nuts. Mmh, donuts !
Avatar
Admins
Le curseur est, je pense, toujours supprimé en mode plein écran. Il n'y a rien à faire pour cela, si ce n'est faire suivre une image à la position de la souris pour simuler un curseur (ce qui marche très bien, on le fait avec Zozor dans ce chapitre).

Ce qui se conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.

Nicolas Boileau (je suis fan)
Suivez l'aventure du SdZ et de Simple IT sur notre blog !
 
Hors ligne tuturd # Posté le 09/04/2006 à 23:05:49 - Ce membre n'a pas mis de note
Avatar
Groupe : Membres
Encore un super tuto mais je sais pas si c'est moi qui commence à déccrocher ou si le cours devient de plus en plus backlé o_O . Enfin backlé c'est quand meme trop poussé car il est exellent, mais j'ia l'impression qu'on est moins chouchouter qu'au début et ca me gêne vachement :p .
Mais franchement j'ai de plus en plus de mal à lire tout le tuto :-°
Hors ligne deuterium360 # Posté le 10/04/2006 à 12:45:01 - Ce membre a mis la note : 20
rebelle refoulé
Groupe : Membres
20/20 pour avoir pensé aux linuxiens qui devaient attendre 20 minutes pour que ça marche :D
Hors ligne kegi # Posté le 11/04/2006 à 12:44:32 - Ce membre a mis la note : 19
Groupe : Membres
Super le tuto, mais j'ai un tit problème :euh:

en pleine écran, zozor suit très mal le curseur, en fait, c'est fluide mais il a du mal a suivre... si je me met en mode normale (même grandeur que fullscreen) c'est marche très bien.

Vous savez pourquoi ?

Cordialement,
Kevin (kegi@hotmail.com)
Hors ligne kegi # Posté le 12/04/2006 à 02:12:14 - Ce membre a mis la note : 19
Groupe : Membres
Bon j'ai essayé d'installer SGE avec SDL pour pouvoir gérer les collisions, faire des rotations et des zoom mais je n'arrive pas à l'installer corectement, je ne sais pas copier ou dans quoi... :colere:

Vouc aviez prévu le montrer ? on bien y aurait-il un gentil programmeur qui pourrait me montrer svp :)

Cordialement,
Kevin (kegi@hotmail.com)
Hors ligne Somberlord # Posté le 21/04/2006 à 18:56:41 - Ce membre a mis la note : 20
être g33k ou ne pas être
Groupe : Membres
Excellent tuto!!!
En plus pile au moment où j'ai voulu me mettre au SDL. Quelle synchronisation. J'attends la suite avec impatience.


Par contre pour le curseur en plein ecran, le mien s'affiche quand le double buffering est désactivé, et ne s'affiche pas quand il est activé...

A quand un tuto avec les video et SMPEG (j'en demande peut-être un peu trop la...)

Encore merci Ma@teo!!
Hors ligne NarTy # Posté le 22/04/2006 à 09:37:32 - Ce membre a mis la note : 20
Je t'aime amèrement !
Avatar
Groupe : Bannis
Bravo

Venez jouer
Mon blog => JuLeS’ ProGs
Programmeur xHTML/CSS,PHP/SQL,Javascript,C à votre service

 
Hors ligne simonlourson # Posté le 20/05/2006 à 10:53:32 - Ce membre n'a pas mis de note
Groupe : Membres
Je rejoins kegi sur le probleme de la SGE: à quand un tutoriel pour l'installer? (Je travaille sous visual C++ 2005 et ils ne fournissent pas les fichiers .lib ni la procedure d'installation...)
Si quelqu'un l'a déja fait et peut m'aider...

ps: mon adresse si quelqu'un a une solution: simonlourson[at]hotmail[dot]com
(remplacer [at] par "@" et [dot] par ".")
Hors ligne Bogoris # Posté le 05/06/2006 à 16:02:20 - Ce membre n'a pas mis de note
Exit light ! Enter night !
Avatar
Groupe : Membres
Citation : tuto
Code : C
case SDL_MOUSEBUTTONUP: /* Clic de la souris */

N'y aurait-il pas une petite erreur ?

Sinon je voulais dire que quand on s'ennuie...
 
Hors ligne Keitaro_Ura # Posté le 21/06/2006 à 15:16:52 - Ce membre a mis la note : 19
Vive Love Hina !
Avatar
Groupe : Membres
J'ai un problème, quand je copie un code SDL, ça me fait ouvrir et fermer la fenetre à la vitesse de l'eclair, ça marche pas :'(
Sinon très bon tuto ;)
19/20

Voici mon FORUM pour les mappeurs warcraft !!!
Secret (cliquez pour afficher)
C'est un secret, alors j'vais pas le dire ! :lol:

 
Hors ligne giovanni11 # Posté le 30/06/2006 à 19:22:11 - Ce membre n'a pas mis de note
Let's keep smile in !
Avatar
Groupe : Membres
Mwarf, dans la liste des touches je n'ai pas trouvé la touche ENTREE du clavier, c'est un oubli ou la SDL ne gère pas cette touche ? (ou j'ai mal lu :lol: )

Giovanni11
 

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 363 Zéros connectés | Requêtes SQL 9 requêtes | Temps de génération de la page : Total (SQL) 0.0241s (0.0119s)