Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/04/2012, 18:24
martin0290
 
Fecha de Ingreso: octubre-2009
Mensajes: 84
Antigüedad: 14 años, 7 meses
Puntos: 0
[Problema] Java con LWJGL + slick

Hola buenos dias,

Tengo un error en java que la verdad no se de donde proviene, busque en google pero con las soluciones que daban no pude.

Para los que no saben que es LWJGL es como un motor grafico para java y slick un cargador de texturas entre otras cosas.

Dejo mi codigo primero:


Código:
package Prueba;


 
public class TextureDemo {


        public static void main(String[] args) {
            Textura text = new Textura();
            text.start();
        }
 
}


Código:
package Prueba;

import java.io.IOException;
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;
import org.newdawn.slick.Color;
import org.newdawn.slick.opengl.Texture;
import org.newdawn.slick.opengl.TextureLoader;
import org.newdawn.slick.util.ResourceLoader;

public class Textura {
    
    private Texture wood;
    
    public Textura () {
        
        
    }
    
    public void start () {
                
        initGL();
        init();
                
        while (!Display.isCloseRequested()) {
                       
            GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
            render();
                            
            Display.update();
            Display.sync(60);
            
            if (Display.isCloseRequested()) {
                Display.destroy();
                System.exit(0);
            }
        }
    }

    private void initGL () {
        
        try {
            Display.setDisplayMode(new DisplayMode(640, 480));
            Display.setTitle("Texturas");
            Display.create();
            
            } catch (LWJGLException e) {
                e.printStackTrace();
            }

            GL11.glMatrixMode(GL11.GL_PROJECTION);
            GL11.glLoadIdentity();
            GL11.glOrtho(0, 640, 480, 0, 1, -1);
            GL11.glMatrixMode(GL11.GL_MODELVIEW);
            GL11.glEnable(GL11.GL_TEXTURE_2D);
    }
    
    private void init () {
        wood = loadTexture("wood");     
    }

    private void render () {
        
        Color.white.bind();
        wood.bind();    
        
        GL11.glBegin(GL11.GL_QUADS);
            GL11.glTexCoord2f(0, 0);
            GL11.glVertex2i(400, 400);
            GL11.glTexCoord2f(1, 0);
            GL11.glVertex2i(450, 400); 
            GL11.glTexCoord2f(1, 1);
            GL11.glVertex2i(450, 450); 
            GL11.glTexCoord2f(0, 1);
            GL11.glVertex2i(400, 450); 
        GL11.glEnd();
    }

        
        private Texture loadTexture(String key) {
            
            try {
                Texture texture = TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/"+key+".png"));
                return texture;
            } catch (IOException e) {
                 e.printStackTrace();
            }
            
            return null;
        } 
}
Lo que hago es cargar una textura "wood" que se encuentra en la carpeta res. Aclaro que tengo cargado las librerías tanto slick como lwjgl.

Al compilar sale este error:

Código:
run:
Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/opengl/GL11
	at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:226)
	at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:184)
	at org.newdawn.slick.opengl.TextureLoader.getTexture(TextureLoader.java:64)
	at org.newdawn.slick.opengl.TextureLoader.getTexture(TextureLoader.java:24)
	at Prueba.Textura.loadTexture(Textura.java:86)
	at Prueba.Textura.init(Textura.java:62)
	at Prueba.Textura.start(Textura.java:26)
	at Prueba.TextureDemo.main(TextureDemo.java:10)
Caused by: java.lang.ClassNotFoundException: org.lwjgl.opengl.GL11
	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	... 8 more
Java Result: 1
La verdad nunca me paso esto u.u. El error viene de " wood = loadTexture("wood");" ya que si saco esto, el codigo funciona pero lo mas raro que vi a gente con este mismo codigo y les anda :S


Ayudaa, gracias!