[JAVA] Jeu simple

Jeu simple [JAVA] - Java - Programmation

Marsh Posté le 21-05-2006 à 13:35:20    

Bonjour  
 
J'ai decider de cree un petit jeu en java, apres avoir parcouru pas mal de tutorial j'ai utiliser ce code (double bufering) comme base : (voir  en dessous) et j'y ai rajouter quelque ligne, Pour le moment c'est juste un ptit carre qui rebondit sur les bord  :D .  
 
Mais plusieur question me trote dans la tete avant de commencer :
 
Quel est la fonction qui premet de remplacer ce carre par un gif animé par exemple ?
Si ce petit carre devient une voiture je veut lui fair prendre un direction aleatoire j'ai penser a  un random sur 360° mais comment fair fair un rotation de x degree a ma voiture ?
Imaginons que j'ai envis de plusieur centaine de voiture simultanément je devrais stoker les coordonnée de chaque voiture dans un tableau double (int tab[][]) ?  
 

Code :
  1. import java.awt.*;
  2. import java.awt.image.*;
  3. class Toto extends Frame
  4. {
  5. int x;
  6. int y;
  7. int a;
  8. int b;
  9. private RenderingThread render;
  10. private BufferStrategy strategy;
  11. private Graphics backBuffer;
  12. public Toto()
  13. {
  14. System.out.println(" Toto" );
  15. render = new RenderingThread();
  16. x = 0;
  17. y = 150;
  18. a = 0;
  19. b = 0;
  20. setSize(400, 400);
  21. setVisible(true);
  22. setIgnoreRepaint(true);
  23. createBufferStrategy(2);
  24. strategy = getBufferStrategy();
  25. backBuffer = strategy.getDrawGraphics();
  26. render.start();
  27. }
  28. public static void main(String args[])
  29. {
  30. new Toto();
  31. }
  32. private void renderingRoutine()
  33. {
  34. if (a == 0)
  35. x++;
  36. else
  37. x--;
  38. if(x >=  370)
  39. {
  40.   a = 1;
  41. }
  42. else
  43. if(x <=  0)
  44. {
  45.   a = 0;
  46. }
  47. // fgfgfgfggf
  48. if (b == 0)
  49. y++;
  50. else
  51. y--;
  52. if(y >=  370)
  53. {
  54.   b = 1;
  55. }
  56. else
  57. if(y <=  20)
  58. {
  59.   b = 0;
  60. }
  61. backBuffer.setColor(Color.white);
  62. backBuffer.fillRect(0,0,getWidth(),getHeight());
  63. backBuffer.setColor(Color.black);
  64. backBuffer.fillRect(x,y,30,30);
  65. strategy.show();
  66. }
  67. class RenderingThread extends Thread {
  68. public void run() {
  69. while(true)
  70. {
  71. try {
  72. sleep(5);
  73. renderingRoutine();
  74. } catch (java.lang.InterruptedException e){}
  75. }
  76. }
  77. }
  78. }

Message cité 2 fois
Message édité par shulsie le 21-05-2006 à 13:37:13
Reply

Marsh Posté le 21-05-2006 à 13:35:20   

Reply

Marsh Posté le 21-05-2006 à 13:47:28    

shulsie a écrit :

Bonjour  
Si ce petit carre devient une voiture je veut lui fair prendre un direction aleatoire j'ai penser a  un random sur 360° mais comment fair fair un rotation de x degree a ma voiture ?
Imaginons que j'ai envis de plusieur centaine de voiture simultanément je devrais stoker les coordonnée de chaque voiture dans un tableau double (int tab[][]) ?  


En fait, faut te renseigner sur les "sprites":
L'idee est que tu as une image pour chaque direction que peut prendre ta voiture.
La succession des images decrit le mouvement possible de l'objet. Ton programme appelle ensuite les images les une a la suite des autres et cela donne une impression de mouvement.
 

Reply

Marsh Posté le 21-05-2006 à 20:25:05    

shulsie a écrit :

Si ce petit carre devient une voiture je veut lui fair prendre un direction aleatoire j'ai penser a  un random sur 360° mais comment fair fair un rotation de x degree a ma voiture ?


Avec une transformation affine : http://java.sun.com/j2se/1.5.0/doc [...] te(double)
 
Edit: et aussi http://java.sun.com/docs/books/tut [...] rming.html


Message édité par gm_superstar le 21-05-2006 à 20:27:23
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed