10-02-2012, 09:44 AM
(Modification du message : 17-02-2012, 01:47 PM par Sephi-Chan.)
Merci, juste:
J'ai ce code tout simple :
Ma classe Map génère une map 2d iso et l'affiche.
Voici la classe en question :
Normalement, a chaque "timer" cela devrait déplacer le groupe partMap et donc je devrais voir ma Map se déplacer vers la droite. Mais a la place, j'ai cette erreur :
Si vous avez une idée?
Merci d'avance
J'ai ce code tout simple :
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javafx.scene.Group;
import javafx.scene.Parent;
/**
*
* @author TheTrope
*/
public class Rendu extends Parent{
int x = 0;
Group Ecran = new Group();
Map nmap;
public Rendu()
{
Map nmap = new Map(1,400,100);
Ecran.getChildren().add(nmap);
this.getChildren().add(Ecran);
new Timer(33,taskPerformer).start();
}
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
nmap.setx(x);
System.out.println("Render");
x++;
}
};
}
Ma classe Map génère une map 2d iso et l'affiche.
Voici la classe en question :
import javafx.scene.Parent;
import javafx.scene.Group;
public class Map extends Parent{
private int x;
private int y;
private int startx;
private int starty;
private int cl_mx;
private int cl_my;
private Group partMap = new Group();
public Map(int id, int mx, int my){
startx = mx;
starty = my;
x = startx;
y = starty;
int currentx = 0;
int currenty = 0;
while (currenty<13){
while (currentx<13){
Tile tile = new Tile(1, x, y);
partMap.getChildren().add(tile);
x = x + 34;
y = y + 17;
currentx++;
}
currenty++;
x = startx -currenty*34;
y = starty + currenty*17;
currentx=0;
}
System.out.println("map cree");
this.getChildren().add(partMap);
}
public void setx(int x)
{
partMap.setTranslateX(x);
}
}
Normalement, a chaque "timer" cela devrait déplacer le groupe partMap et donc je devrais voir ma Map se déplacer vers la droite. Mais a la place, j'ai cette erreur :
Code :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at tkweb.Rendu$1.actionPerformed(Rendu.java:35)
at javax.swing.Timer.fireActionPerformed(Timer.java:291)
at javax.swing.Timer$DoPostEvent.run(Timer.java:221)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Si vous avez une idée?
Merci d'avance