Ein wunderschönen guten Morgen an alle erstmal,
Mein Problem liegt ganz klar im zeichnen des Helikopters und ich kann mir einfach nicht erklären wieso.
Zunächst habe ich alles abgetippt wie im Tutorial beschrieben, verstanden und alles gut (Dankeschön an Quaxli für das eigentlich 1a geschriebene Tutorial), aber! und jetzt kommt's:
Beim laden des .gif Bildes für den Helikopter in loadPics(String path, int pics) funktioniert es nicht.
Habe natürlich schon versucht herauszufinden wieso und mal schnell Sysem.out.println() verwendet.
Ergebnis war: "input == null"
Nebenbei erwähnt: Ich verwende Eclipse als IDE und versuche auch aus Eclipse heraus das Programm zu starten. (Falls es irgendetwas bringt das zu wissen)
Ich hoffe sehr auf schnelle Antwort.
Euer, Prakdi aka Chris
Mein Problem liegt ganz klar im zeichnen des Helikopters und ich kann mir einfach nicht erklären wieso.
Zunächst habe ich alles abgetippt wie im Tutorial beschrieben, verstanden und alles gut (Dankeschön an Quaxli für das eigentlich 1a geschriebene Tutorial), aber! und jetzt kommt's:
Beim laden des .gif Bildes für den Helikopter in loadPics(String path, int pics) funktioniert es nicht.
Habe natürlich schon versucht herauszufinden wieso und mal schnell Sysem.out.println() verwendet.
Ergebnis war: "input == null"
Code:
void doInitialisiations()
{
BufferedImage[] heli=this.loadPics("/pics/heli.gif", 4);
actors=new ArrayList<Sprite>();
copter=new Sprite(heli,400,300,100,this);
actors.add(copter);
last= System.nanoTime();
Thread t=new Thread(this);
t.start();
}
@Override
public void run() {
while(game_running)
{
computeDelta();
//checkKeys();
doLogic();
moveObjects();
repaint();
try{
Thread.sleep(10);
}
catch(Exception e)
{
}
}
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2= (Graphics2D) g;
g2.setColor(Color.RED);
g2.drawString("FPS: "+Long.toString(fps), 20, 20);
if(actors != null)
{
for(Drawable draw: actors)
{
draw.drawObjects(g2);
}
}
}
private BufferedImage[] loadPics(String path, int pics)
{
BufferedImage[] anim= new BufferedImage[pics];
BufferedImage source = null;
URL pic_url= getClass().getClassLoader().getResource(path);
try{
source =ImageIO.read(pic_url);
}
catch(IOException e){}
for(int x=0; x<pics;x++)
{
anim[x]=source.getSubimage((source.getWidth()/pics)*x, 0,
source.getWidth()/pics, source.getHeight());
}
return anim;
}
Nebenbei erwähnt: Ich verwende Eclipse als IDE und versuche auch aus Eclipse heraus das Programm zu starten. (Falls es irgendetwas bringt das zu wissen)
Ich hoffe sehr auf schnelle Antwort.
Euer, Prakdi aka Chris