Problème de transparence picturebox et grosse lenteur !

daikyo Messages postés 25 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 27 avril 2008 - 18 avril 2008 à 22:01
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 20 avril 2008 à 21:17
Bonjour à tous, je suis toujours sur le développement d'un petit jeu point n' click, j'ai fait des tests cet après-midi et j'ai constaté un problème très ennuyeux :

Je comptais mettre une image de fond pour le formulaire qui me servirait de décor pour les personnages, mon personnage principal est un gif avec fond transparent qui peut bouger quand on clique sur le formulaire pour le déplacer là ou a eu lieu le clic. Avec cette méthode, la transparence du gif fonctionne mais le personnage se déplace extrêmement lentement, je pense que le formulaire est très sollicité et se redessine à chaque pixel !

J'ai donc essayé en utilisant une picturebox pour mon décor à laquelle j'ai dit qu'elle apparaisse en Arrière-plan et qu'elle s'ajuste sur toute la taille du formulaire. Avec cette manière, je n'ai aucun problème de lenteur, le personnage se déplace très bien sauf que l'effet de transparence du gif n'opère plus, j'ai droit à un vieux rectangle gris en fond du gif et pas moyen de l'enlever en mettant background "Web > Transparent"

Aidez moi s'il vous plait :o !!

10 réponses

bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 4
18 avril 2008 à 23:17
oulàlà les forms ne sont pas faites pour du jeu!

Et si tu apprenais DirectX plutôt?
0
daikyo Messages postés 25 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 27 avril 2008
19 avril 2008 à 00:51
Ceci est un projet pour mon BTS, mon épreuve orale sur ce projet est mi-juin, je ne sais pas si je peux me permettre du consacrer du temps à l'apprentissage de DirectX, est-ce difficile ? par où commencer ? Je pense être assez juste en temps :p

Sinon j'ai justement choisi un point n' click car je pense que c'est le type de jeu le plus facilement reproductible en WinForms !
0
bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 4
19 avril 2008 à 02:24
Quand je vois comment la transparence rame déjà sur une image statique, pas étonnant que ton gif lutte.

Ce n'est pas trop tard pour DirectX mais va falloir te retrousser les manches et trouver un vieux SDK DirectX 9 si tu veux programmer en C#: il y a de cela qq mois Microsoft a abandonné le projet Managed DirectX.
Les tutorials de Drunken Hyena font référence en sus de la doc officielle Microsoft (http://www.drunkenhyena.com/cgi-bin/directx.pl), mais comme là c'est vraiment trop juste en temps, tu peux utiliser un moteur de jeu tout fait.

Et là je ne peux que te conseiller http://www.garagegames.com/products/torque/tgb/, le moteur 2D de GarageGames. Avec ça tu vas monter ton projet dans le faible temps imparti sans probleme.
0
oximoron Messages postés 149 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 30 janvier 2009
19 avril 2008 à 12:58
Regarde peut être du coté Microsoft XNA Game, j'ai jamias regardé mais c'est le language utilisé pour faire des jeux pour le xbox live arcade si je ne dis pas de bêtises. C vaut peut être le coup de jeter un coup d'oeil.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oximoron Messages postés 149 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 30 janvier 2009
19 avril 2008 à 13:00
je viens de trouver un petit lien avec des explication en video http://www.microsoft.com/france/vision/WebcastMsdn.aspx?eID=c5de77c9-d078-4536-9f65-122c4f94448a
0
daikyo Messages postés 25 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 27 avril 2008
19 avril 2008 à 13:56
Ce moteur 2D a l'air très sympa mais il est très payant aussi apparament xD, de plus, cela semble beaucoup assister le créateur, je ne sais pas si cela laisse beaucoup de place au code, chose pour laquelle je serais évalué !
0
daikyo Messages postés 25 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 27 avril 2008
19 avril 2008 à 18:14
Merci pour les liens tout de même ;)
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
20 avril 2008 à 17:15
Salut, dans un jeu on invalide ou redessine, uniquement les pixels qui ont changés entre 2 animations.
0
daikyo Messages postés 25 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 27 avril 2008
20 avril 2008 à 17:24
Salut,

Merci pour ces précisions, aurais-tu une idée pour rendre le jeu fluide ?

Merci
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
20 avril 2008 à 21:17
Un jeu sa tourne dans une boucle, à chaque frame tu dessines la nouvelle position et/ou animation de ton personnage et tu effaces l'ancienne position, effacer ça veut dire redessiner le background uniquement à l'emplacement précédent du personnage, pour garde un maximum de fluidité. On n'utilise pas un gif animé mais une série de bitmap ou une bande de bitmap ( plusieurs bitmaps alignés ). Si tu as du mal avec ces conceps utilise XNA, un framework et un moteur de jeu C# made in Microsoft :

http://msdn2.microsoft.com/fr-fr/directx/bb870299.aspx
0
Rejoignez-nous