cs_nounouX
Messages postés34Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention21 mars 2006
-
17 juil. 2004 à 11:43
cs_nounouX
Messages postés34Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention21 mars 2006
-
19 juil. 2004 à 10:18
Salut a tous voila, ma question concerne l'affichage graphique d'un jeu, j'aimerai que vous m'aiguilliez sur la meilleur façon d'afficher une image, parce que voici la methode que j'utilise (j'ai une classe qui gere l'affichage des composant dans mon jeu tetris) qui est du type (version simplifié) :
import java.awt.*;
import javax.swing.*;
public class PaintScreenGame {
// variable global pour l'image d'accueil
private ImageIcon accueil;
public PaintScreenGame(){
// je load l'image avec new ImageIcon()
accueil = new ImageIcon("./Pictures/TetrisAccueil2.jpg");
}
// methode qui reçoit un Graphics2D et affiche l'image
public void PaintPageStart(Graphics2D g2d){
g2d.drawImage(accueil.getImage(), 0, 0, null);
}
}
Donc voila , mais je pense que ceci n'est pas la meilleur solution, et elle me pose des problemes , quand par exemple je veux afficher des images .gif ou .jpeg (des sprites ou du texte) ayant un fond transparent... le fond n est pas du tout transparent, et j ai un sprite avec du blanc tout au tour (qui devrait etre transparent)
Merci de m'aider, et de me donner la meilleur methode possible...
Mikonyx
Messages postés76Date d'inscriptionjeudi 31 janvier 2002StatutMembreDernière intervention 1 septembre 2004 17 juil. 2004 à 12:31
Pour la transparence, utilise des fichiers png avec un fond transparent et à l'affichage, java fera la transparence tout seul... c'est ce qu'il y a de plus simple je pense :)
cs_nounouX
Messages postés34Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention21 mars 2006 17 juil. 2004 à 13:40
bah non justement hehe, c pour ça que je m interroge sur ma façon de faire parce que il ne prend pas en compte la transparence... comme tu me dit. J'ai bien essayé mais au lieu de la transparence il met du blanc....
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 18 juil. 2004 à 12:32
:big) Neodante :big)
Java gère très bien la transparence ... je peux même te dire que ta carte graphique l'aide un peu pour faire ça ... en revanche cela est vrai uniquement pour les images en 100% transparent (PNG gère la transparence sur un octet donc tu peux avoir 256 nuances de transparence ...) ... par contre c uniquement pour du PNG .... évite le JPEG ...
@+
cs_nounouX
Messages postés34Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention21 mars 2006 18 juil. 2004 à 14:56
bah justement je voulais savoir si ça avait une importance, mais j'ai un fond (mon jeu est tetris) en jpeg, et lorsque je veux afficher un sprite par dessus, en .gif , avec de la transparence, bah je n ai pas de transparence justement, c blanc tout autour...
Donc je voulais savoir, si ça pouvait etre a cause du melange jpeg+gif, et aussi savoir si ma methode d'affichage que j'utilise et que j'ai ecrit a mon premier message etait bonne ? (qaund je parle de "bonne", j aimerai savoir si c'est de la bonne programmation, ou de la prog de newbie LOL)
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 18 juil. 2004 à 17:34
:big) Neodante :big)
N'utilise pas du GIF mais PNG ...
Pour ton code tout ce que je peux te dire c'est qu'il n'est pas mauvais mais regarde les sources de GodConan si tu veux avoir des exemples de code .... c'est exactement ce que tu nous demande !!! lol
@+
Mikonyx
Messages postés76Date d'inscriptionjeudi 31 janvier 2002StatutMembreDernière intervention 1 septembre 2004 18 juil. 2004 à 18:54
Oui c'est ce que je disais... Pour un jeu la transparence me posait aussi plein de problème et quand j'ai vu que les fichiers png simplifiaient tout, j'étais heureux... vraiment. En plus, comme l'a expliqué neodante, tu as plusieurs nuances de transparences possible donc ça le fait... Bien sur, quand tu conçois ton png, il faut faire la transparence dedans.