Sprite/image kan niet geladen worden in j2me?

Status
Niet open voor verdere reacties.

stonedr

Gebruiker
Lid geworden
11 aug 2003
Berichten
104
Hey peeps,

Ik ben voor het eerst aan het programmeren met j2me. Nu probeer ik een mobiele game te maken (soort pong) en wil ik een balletje hebben. Dit door middel van een Sprite...

Ik maak gebruik van een try catch en daar gaat het ook idd fout. Het plaatje kan op een of andere manier niet geladen worden.

Het png plaatje staat net als de andere bestanden in de hoofdpackage "gamePackage".
Misschien dat de directory aanduiding in de code niet klopt...ik heb het geprobeerd met:
"/ball.png"
"ball.png"
Hetzelfde met een gif plaatje.Maar nog altijd komt hij terecht dus in het catch gedeelte....waar zit de fout?

Ik doe mijn werk trouwens in NetBeans...kweenie of dat wat uitmaakt.

Code:
package gamePackage;

import javax.microedition.lcdui.*; 
import javax.microedition.lcdui.game.GameCanvas;

import java.io.IOException;
import javax.microedition.lcdui.Image; 
import javax.microedition.lcdui.game.Sprite;

public class Canvas extends GameCanvas implements Runnable {
    
    private int slaapTijd = 30;
    
    //Variabelen voor de Sprite
    private Image balPlaatje;
    private Sprite balSprite;
    private int balpos_x = getWidth() / 2;
    private int balpos_y = getHeight() / 2;
    
    /** Creates a new instance of Canvas */
    public Canvas (){
        super(false);
    }

    public void run() {
        while(true)
        {
            updateCanvas(getGraphics());
            try
            {
                   Thread.sleep(slaapTijd);
            } catch (Exception e)
            {
                
            }
        }
    }
    
    public void start(){
        try{
            balPlaatje = Image.createImage("ball.png");
        }catch(IOException ioex)
        {
            System.out.println(ioex);
        }
        
        balSprite = new Sprite(balPlaatje,3,3);
        balSprite.defineReferencePixel(2,2);
        balSprite.setRefPixelPosition(balpos_x, balpos_y);
        
        Thread runner = new Thread(this);
        runner.start();
    }
    
    private void createBackgroundCanvas(Graphics g)
    {
        g.setColor(0x000000);
        g.fillRect(0,0,getWidth(),getHeight());
    }
    

    private void updateCanvas(Graphics g)
    {
        createBackgroundCanvas(g);
        
        balSprite.setRefPixelPosition(balpos_x, balpos_y);
        balSprite.paint(g);
        
        flushGraphics();
    }


    
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan