Jeux Libres

Envie de créer un jeu vidéo ?   Le site qui vous accompagne de A à Z.


» Les Forums » Création de jeux en Java » Créations.


Aller à la page : 1.

Créations.
Lo



Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
Ecrit le: 10 Nov 2008, 19:46             Message non corrigé

Alors j'entame le sujet avec un jeux que je suis entrain de finir.
J'ai imiter le jeux démineur de window xp.

Mais ici je l'ai pas encore terminé, il ne me reste qu'à mettre le chronomètre, enregister les scores, sauvegarder la partie et les niveaux personnalisés, mais vous en faîtes pas se sera vite fait.

Ha oui aussi en accessoire je compte mettre des sons. (hihi)

Enfin soit, là en gros je l'ai à moitié fini si pas les 3/4 fini, je vous mets une capture d'écran.

http://www.jeux-libres.com/membres/mes_images/445_1226342752_d_mineur.jpg

Si il y a un info graphiste pour les images des jeux de mon cours, se serait super pcq là...

________
Parce qu'on ne peut s'exprimer que par nos créations. ^^
  Profil Mail
Lo



Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
Ecrit le: 12 Nov 2008, 14:57             Message non corrigé

Voilà j'ai finis, à part les sons car apparemment il faut télécharger une extension de Java, mais je vais me limiter à cela pour l'instant, car les sons c'est moins urgent, je le mettrai en annexe.

Pour ceux qui sont curieux, bah je mettrai le code source à la suite de mes tutos.

Une fois que je l'aurai bien expliquer dans la partie gestion des jeux en 2D.

Sinon, il faut encore que je voie les jeux du style faire avancer un personnage, le faire sauter, ...

Si quelqu'un à un tuto sur la physique ça m'intéresse.

________
Parce qu'on ne peut s'exprimer que par nos créations. ^^
  Profil Mail
Lo



Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
Ecrit le: 15 Nov 2008, 09:07             Message non corrigé

Bonne nouvelle!

J'ai réussi à mettre les effets sonores à mon démineur.

En fait j'ai pas bien cherché mais il y a moyen de le faire sans forcément avoir un extension.

En tout cas il m'a fallut comprendre un peu comment fonctionnent les fichiers sons, le taux d'échantillonnages, la ligne, etc...
Car je suis pas un spécialiste ni en sons, ni en images.

________
Parce qu'on ne peut s'exprimer que par nos créations. ^^
  Profil Mail
Lo



Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
Ecrit le: 25 Nov 2008, 19:23             Message non corrigé

J'ai mis le fichier exécutable , le .jar sur le site, si vou voulez tester, n'oublier pas qu'il vous faut télécharger la machine virtuelle de Java pour pouvoir le lancer sur le lien que je vous ai fournis dans l'introduction dans mes tutoriels.

________
Parce qu'on ne peut s'exprimer que par nos créations. ^^
  Profil Mail
Lo



Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
Ecrit le: 22 Dec 2008, 11:24             Message non corrigé

Voilà, j'ai fait un début d'essay, de monde en 2D.

Il me reste plus qu'à remplacer la balle. (une image png) par un personnage, et décorer le paysage.

Pour faire l'éditeur de maps, je n'ai pas encore trop d'idées.
Mais au moins ainsi, le plus dur est fait.
http://www.jeux-libres.com/membres/mes_images/445_1229941255_2d.jpg

________
Parce qu'on ne peut s'exprimer que par nos créations. ^^
  Profil Mail
Lo



Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
Ecrit le: 22 Dec 2008, 17:25             Message non corrigé

En wai, en faîtes j'ai dis que je mettais le fichier.jar mais le problème c'est ou c'est que les autres peuvent récupérer les fichiers que l'on mets sur le sites ?
Le .jar je pense pas que tout seul il marche, il faut sans doute les images et les sons avec car chez moi c'est comme sinon il en m'affiche pas les images.

________
Parce qu'on ne peut s'exprimer que par nos créations. ^^
  Profil Mail
Lo



Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
Ecrit le: 07 Jan 2009, 16:55             Message non corrigé

Les animations en 2D.

Voilà, j'ai rajouter un sprite d'un personnage (Monkey D Luffy dans one piece) et je l'ai animé, lorsque je le fait avancer sur la map.

Alors pour ceux qui veulent voici le code, il faut savoir que mon sprite est en .gif, et il contient toutes les frames de l'animation, mais ici, j'ai utiliser que la première animation.

je vous expliquerai ça dans mes tutos, une fois que David aura résolu le problème.

Le code :
(je peux pas le colorer, sinon il ne passe pas)

package edition;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.image.CropImageFilter;
import java.awt.image.FilteredImageSource;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Fenetre extends JFrame implements KeyListener {
private static final String titreFenetre = "Edition de terrains en 2D";
private static final int largeurFenetre = 500;
private static final int hauteurFenetre = 500;
private static final int tailleImage = 70;
private int px, py;
private int decalage, currentFrame;
private Image animation1;
private Image[] frames1 = new Image[14];
private Graphics bufferGraphique;
private Image bufferImage;
private Terrain2D terrain;
private boolean anime;
private Thread animationFrames;
public Fenetre (Terrain2D terrain) {
super(titreFenetre);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize (largeurFenetre, hauteurFenetre);

px = (int) (largeurFenetre / 2);
decalage = 0;

this.terrain = terrain;
setVisible (true);
bufferImage = createImage(largeurFenetre, hauteurFenetre);
bufferGraphique = bufferImage.getGraphics();

Toolkit toolkit = Toolkit.getDefaultToolkit();
MediaTracker tracker = new MediaTracker (this);
String imgEmpl = "LuffyWS.gif";
chargerImage (imgEmpl, toolkit, tracker);
tracerTerrain(terrain);
anime = false;
currentFrame = 0;
dessinerFrame ();
addKeyListener (this);
}
public void chargerImage (String imgEmpl, Toolkit toolkit, MediaTracker tracker) {
animation1 = toolkit.getImage(imgEmpl);
for (int i = 0; i < 14; i++) {
frames1[i] = createImage (new FilteredImageSource (animation1.getSource(), new CropImageFilter (i * 50, 0, 50, 70)));
tracker.addImage(frames1[i], i);
}
try {
tracker.waitForAll();
} catch (InterruptedException e) {
e.printStackTrace();
}
if (tracker.isErrorAny())
System.out.println("Erreur pendant le chargement des images");

}
public void tracerTerrain (Terrain2D terrain) {

int i = 0;
ArrayList<Point> lp = terrain.getPoints();
while (i < lp.size() - 1) {
Point a = lp.get(i);
Point b = lp.get(i+1);

bufferGraphique.drawLine(a.x - decalage, a.y, b.x - decalage, b.y);
i++;
}
repaint ();
}
public void clear () {
bufferGraphique.clearRect(0, 0, largeurFenetre, hauteurFenetre);
tracerTerrain(terrain);
}
public void dessinerFrame () {
if (currentFrame > 13 || !anime)
currentFrame = 0;
Image frame;
frame = frames1[currentFrame];

ArrayList<Point> lp = terrain.getPoints();
Point p1, p2;
int i = -1;
do {
i++;
p1 = lp.get(i);
p2 = lp.get(i+1);
} while ((p2.x - decalage) < (px - decalage) + tailleImage / 2);
double rapport = (double) ((px - decalage + tailleImage / 2) - (p1.x - decalage)) / (double) ((p2.x - decalage) - (p1.x - decalage));


if (p1.y > p2.y) {
double distance = p2.y - p1.y;
py = (p1.y - tailleImage) + (int) (distance * rapport);
} else if (p1.y < p2.y) {
double distance = p1.y - p2.y;
py = (p1.y - tailleImage) - (int) (distance * rapport);
}
bufferGraphique.drawImage(frame, px - decalage, py, this);
repaint ();
System.out.println("Fenêtre dessinée!");
}
public void paint(Graphics g) {
g.drawImage(bufferImage, 0, 0, largeurFenetre, hauteurFenetre, this);
}
public void upDate (Graphics g) {
paint (g);
}
public static void main (String[] args) {
Terrain2D t2d = new Terrain2D (1000, 0, 250, 1000, 200);
t2d.addPente(new Point (0, 250),  45, 100);
t2d.addPente (new Point (200, 250), -50, 70);
Fenetre fen = new Fenetre (t2d);
fen.tracerTerrain(t2d);
}
@Override
public void keyPressed(KeyEvent e) {
clear ();
Point dernier = terrain.getDernier();
Point premier = terrain.getPremier();
animationFrames = new Thread (new StartAnimation ());
// TODO Auto-generated method stub
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {

px += 5;


if (px + tailleImage + 10 > dernier.x)
px = dernier.x - tailleImage - 10;
if (px > largeurFenetre /2)
decalage += 5;
if (px > dernier.x - largeurFenetre / 2)
decalage = dernier.x - largeurFenetre;

} else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
px -= 5;
if (px < premier.x + 10)
px = premier.x + 10;
if (px < dernier.x - largeurFenetre / 2)
decalage -= 5;
if (decalage < 0)
decalage = 0;

}
anime = true;
animationFrames.start();

}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
animationFrames.stop();
anime = false;
dessinerFrame ();
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub

}
private class StartAnimation extends Thread {
public void run () {

try {
animationFrames.sleep(70);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

currentFrame++;
dessinerFrame ();
}
}
}


PS : j'utilise Eclipse que l'on verra après, je compte aussi faire une partie NetBeans, je sais pas de trop comment il fonctionne, mais, je vais l'essayer car la dernière version à l'air super et j'ai envie de voir ce que l'on peut faire avec son dessinateur d'interfaces.

________
Parce qu'on ne peut s'exprimer que par nos créations. ^^
  Profil Mail
 


Aller à la page : 1.


Hébergeur du site : 1and1.fr



Site de création de Jeux Vidéo
Apprenez à créer vos propres Jeux Video

1198786 pages ont été consultées sur le site !
Dont 2300 pages pendant les 24 dernières heures.

Page générée en 0.258 secondes


Nos partenaires
- Otium Production : Aide aux débutants à créer leurs jeux
- Les bibliothèques de développement de jeux vidéo


  © 2005-2012 www.jeux-libres.com - Toute reproduction totale ou partielle du contenu de ce site est strictement interdite.