Pages: 1
Je joue avec Processing depuis un mois. Je cherche à écrire une petite appli de demo type Invader, donc avec 3 familles d'objets : les attaquants, les defenseurs et les missiles. La programmation Oop des attaquants et des défenseurs (je n'ai pas encore "oopisé" les missiles) marche mais seulement avec une instance, pas avec deux !!! Etrange.
Hors ligne
qu'entends pas ne marche qu'avec une instance mais pas deux ? ils se superposent, n'affichent rien ?
est ce possible de voir ton code ?
Hors ligne
@cgiles
Bonjour !
J'ai créé une classe Target, après quelques bafouillages.
Je test avec une instance, OK, ça marche.
Mais le but de la manoeuvre c'est d'en lancer plusieurs.
Je crée aussitôt une deuxième instance, mais surprise celle-ci ne s'affiche pas;
Dans tous les cas de figure testés il n'y en a qu'une seule qui s'affiche.
Je n'ai pas réussi à afficher deux instances en même temps.
Comment fait-on pour télécharger mon appli ? Merci par avance.
Hors ligne
Salut xly et bienvenue,
xly a écrit:
Comment fait-on pour télécharger mon appli ? Merci par avance.
Un copier-coller entre des balises [ code ] [ / code ] (il y a un petit bouton pour ça) ou en fichier joint
Hors ligne
Après vérification, c'est la dernière instance qui s'affiche, mais pas les deux premières.
Target myTar; Target myTwin; Target myTrois; void setup() { size(300, 600); myTar = new Target (10, 20, 5); myTwin = new Target(20, 30, 15); myTrois = new Target(30, 40, 25); } void draw () { myTar.movTarget(); myTwin.movTarget(); myTrois.movTarget(); } class Target { int tarx, tary, tarsz; color couleur; Target(int _tarx, int _tary, int _tarsz) { tarx= _tarx; tary =_tary; tarsz=_tarsz; couleur =color(125*int( random(0, 2)), 125*int( random(0, 2)), 125*int ( random(0, 2))); } void movTarget() { background(255); delay(50); tarx =int(random(150, 250)); tary=tary+4; if (tary >height) { tary=0; } fill(couleur); rect(tarx, tary, tarsz*2, tarsz); } }
Hors ligne
J'ai avance de mon côte, en fait c'est une histoire de background qui effaçait alors qu'il ne devait pas.
Je continue et je vous tiens informé.
Hors ligne
ha bah si tu mets background(0) dans ta classe au lieu alors qu'il devrait être dans le draw()... forcément tu verras que ta dernière instance
Hors ligne
et au lieu de mettre un delay 50 dans tes objets, mets un frameRate(30); dans ton setup, ça réglera la fréquence d'image a 30 image par seconde
Hors ligne
Merci cgiles et makio135.
Ca marche, mais je trouve que le missile n'est pas très nerveux.
A+
Hors ligne
Pages: 1