SCREENSAVER STARFIELD (EFFET A LA STARWAR) PROJECTION 2D DE POINTS 3D

cs_AngeloVivaldi Messages postés 60 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 1 juillet 2004 - 25 juin 2003 à 22:44
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 31 août 2003 à 18:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10994-screensaver-starfield-effet-a-la-starwar-projection-2d-de-points-3d

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
31 août 2003 à 18:07
je vois bien ce que tu veux dire, c'est en fait ce que je fais aussi, mtnt.

mon constructeur ne fait en fait qu'appeler une autre fonction privée, qui peut donc être appelée par toutes les fonctions de la classe, mais alors il faut bien veiller à réinitialiser TOUTES les variables :-)
nazlurf Messages postés 18 Date d'inscription dimanche 30 mars 2003 Statut Membre Dernière intervention 8 décembre 2003
26 août 2003 à 00:45
kirua, ton idee de rapeler le construteur est bonne ... en fait, il faut creer une fonction (private ou non, au choix) qui pourra ainsi etre appelee depuis une autre fonction ET depuis le constructeur !!!
cs_AkeR Messages postés 16 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 14 juillet 2003
1 juil. 2003 à 15:19
Wah trop cool les gars je comprend absolument à vos discussions!!
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
30 juin 2003 à 11:40
arf c'est embêtant :(
Maegis Messages postés 101 Date d'inscription vendredi 15 février 2002 Statut Membre Dernière intervention 6 août 2007
30 juin 2003 à 11:24
this est un pointeur constant sur l'objet . Vu qu'il est constant on ne peut pas le modifier. :(
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
29 juin 2003 à 22:47
maegis t'as essayé ce que je t'avais dit par rapport au pointeur this? j'ai pas vu de changement, ça marchait pas? ce serait qd meme plus propre et plus facile à entretenir
Maegis Messages postés 101 Date d'inscription vendredi 15 février 2002 Statut Membre Dernière intervention 6 août 2007
29 juin 2003 à 20:54
Je viens de changer une connerie que j'avais faite pour le buffer contenant le chemin du fichier de conf la taille du buff etait de MAX_FNAME caracteres au lieu de MAX_PATH. Bon ca m'etonnerais que le chemin soit de plus de MAX_FNAME(255 ou 256 chars) mais ça fait pas prorpre
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
27 juin 2003 à 15:54
Sympa Maegis...
C'est vrai que c'est pas tous les jours kon voit des sources aussi commentées et livrées avec le project entier.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
26 juin 2003 à 23:44
excellent, mettez les étoiles en bleu à pleine vitesse (j'en ai mis 5000) et louchez très fort, ça fait effet mousse :p
Maegis Messages postés 101 Date d'inscription vendredi 15 février 2002 Statut Membre Dernière intervention 6 août 2007
26 juin 2003 à 23:34
Bon pour le screensaver c'est preque bon manque 2-3 trucs gestion du password et disabler le alt+tab ,....... Si quelqu'un sait faire qu'il me le dise
Maegis Messages postés 101 Date d'inscription vendredi 15 février 2002 Statut Membre Dernière intervention 6 août 2007
26 juin 2003 à 15:16
Ouais pour le screensaver c'est un peu dur parce que je sais qu'un scr doit avoir plusieurs fonctions pour l'affichage en aperçu. Je sais pas comment faut faire mais je vais essayer de trouver ça
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
26 juin 2003 à 11:19
Super l'explication, c'est la première fois que je comprends la projection 3D :)
Le site que tu donnes en lien n'est plus disponible depuis un moment :(
Comme dit AngeloVivaldi, tu devrais en faire un screensaver :)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
26 juin 2003 à 10:06
ok désolé le d est défini dans les pré processeur, désolé d'avoir raconté tout ça sur 4 messages :(
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
26 juin 2003 à 10:04
chuis hyper content j'ai compris :-D merci, source vrmnt bien commentée !
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
26 juin 2003 à 10:00
Ah une chose, je pense, je ne suis pas sur mais ici:

if(x2d < -Xscr/2 || x2d >Xscr/2 || y2d < -Yscr/2 || y2d > Yscr/2 || z<=0)
{ //si on est en dehors des limites on refait une autre etoile
z = ZMAX;
x = rand()%(2*xmax+1)-xmax;
y = rand()%(2*ymax+1)-ymax;
vitesse = rand()%vitessemax + 1;
x2d = (x*d)/(d+z);
y2d = (y*d)/(d+z);
return FALSE; //pour la gestion des lignes
}

tu répètes le code du constructeur, donc tu pourrais à mon avis rempalcer tout le bout qui recrée l'étoile par:

this = new Etoile(); (à savoir que this est le pointeur vers l'objet appelant la fonction). je fais pas trop de POO en C++ dsl si c faut.

autre chose: je ne comprends pas d'où vient la variable d que tu utilises ici: y2d = (y*d)/(d+z); :( j'ai un, peu cherché mais je ne trouve pas
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
26 juin 2003 à 09:54
oui c'est vrai ça donne vrmnt un superbe effet!
bravo!
cs_AngeloVivaldi Messages postés 60 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 1 juillet 2004
25 juin 2003 à 22:44
C super ton truk ! tu devrai en faire un screenSaver !! la source est difficile a comprendre mais bon ,je suis débutant ...

Salut bon prog !
Rejoignez-nous