Hello world
je sais je pose beaucoup de questions(franchement je trouve qu'il y a un manque flagrant de documentation sur le java par rapport au C++
)
ma question est la suivante
Encore dans le cadre du jeu raptor que je developpe , j'ai un alien , qui dois descendre d'en haut , il descend peu à peu jusqu'à ce qu'il depasse la fenetre , je vous met mon code pour que vous me comprenez mieux
pour commencer j'ai une classe JEnemy ,dans son constructeur je crée l'enemy et le met dans un bufferedimage , ca ce n'est pas un probleme
dans une classe scene , (sachant qu'un objet scene est instancié dans la classe fenetre) il y a la liste des objets de la scene
pour animer l'enemy j'ai fait cette methode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public void ennemies(){ int cmp=10; Point2D.Double position = new Point2D.Double(); int x; Random r = new Random(); while(cmp!=0){ x = r.nextInt(1000); position.setLocation(x,0); JEnemy En = new JEnemy(position); elements.add(En); repaint(); //System.out.println("haa"); for (double i=10 ; i<500 ; i+=0.01) { En.setPosition(x,i); repaint(); //try{ Thread.sleep(500);} catch(InterruptedException e){;} } elements.remove(elements.size()-1); cmp--; } }
la fonction setposition modifie la position de l'enemy
et ce code ne marche pas , je ne vois rien en tout cas , j'ai l'impression que les aliens passent tellement vite que je ne les voi pas ! parce que quand je met en commentaire l'istruction elements.remove(elements.size()-1); je trouve un alien sur la fenetre qui ne bouge pas , la boucle while a été executé 10 fois , le random genere a chaque fois un numero different (inferieur a 100) j'ai essayé le thread.sleep que vous voyez en commentaire , mais a cause de ce sleep , la fenetre ne sort plus a l'execution
donc d'aprés vous quelle est la meilleure methode pour faire cette animation ?
j'espere avoir était clairet j'espere que je pose la question dans le bon forum
merci
...
Partager