Problème de transparence picturebox et grosse lenteur !

daikyo 25 Messages postés mardi 4 octobre 2005Date d'inscription 27 avril 2008 Dernière intervention - 18 avril 2008 à 22:01 - Dernière réponse : Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention
- 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 !!
Afficher la suite 

Votre réponse

10 réponses

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

Et si tu apprenais DirectX plutôt?
Commenter la réponse de bubbathemaster
daikyo 25 Messages postés mardi 4 octobre 2005Date d'inscription 27 avril 2008 Dernière intervention - 19 avril 2008 à 00:51
0
Merci
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 !
Commenter la réponse de daikyo
bubbathemaster 342 Messages postés dimanche 26 janvier 2003Date d'inscription 25 mars 2009 Dernière intervention - 19 avril 2008 à 02:24
0
Merci
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.
Commenter la réponse de bubbathemaster
oximoron 149 Messages postés mercredi 23 juillet 2003Date d'inscription 30 janvier 2009 Dernière intervention - 19 avril 2008 à 12:58
0
Merci
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.
Commenter la réponse de oximoron
oximoron 149 Messages postés mercredi 23 juillet 2003Date d'inscription 30 janvier 2009 Dernière intervention - 19 avril 2008 à 13:00
0
Merci
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
Commenter la réponse de oximoron
daikyo 25 Messages postés mardi 4 octobre 2005Date d'inscription 27 avril 2008 Dernière intervention - 19 avril 2008 à 13:56
0
Merci
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é !
Commenter la réponse de daikyo
daikyo 25 Messages postés mardi 4 octobre 2005Date d'inscription 27 avril 2008 Dernière intervention - 19 avril 2008 à 18:14
0
Merci
Merci pour les liens tout de même ;)
Commenter la réponse de daikyo
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 20 avril 2008 à 17:15
0
Merci
Salut, dans un jeu on invalide ou redessine, uniquement les pixels qui ont changés entre 2 animations.
Commenter la réponse de Lutinore
daikyo 25 Messages postés mardi 4 octobre 2005Date d'inscription 27 avril 2008 Dernière intervention - 20 avril 2008 à 17:24
0
Merci
Salut,

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

Merci
Commenter la réponse de daikyo
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 20 avril 2008 à 21:17
0
Merci
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
Commenter la réponse de Lutinore

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.