Gå til innhold

Anbefalte innlegg

Har begynt på OpenGL i Java, og dette virker spennende. Jeg sliter med det å kunne putte en applet inn i en JFrame for å kjøre den lokalt som en applet. Legger ved litt kode så dere kan se hva jeg har gjort. Jeg klarer å lage kode som virker i en Application, men jeg vil lage kode som virker både på web og av web. Dette kun for alsidighet, ellers hadde jeg vel kanskje ikke valgt Java og OpenGL i utgangspunktet.

 

Grunnen til at programmet feiler er at jeg ikke får lov til å lage ett objekt av gl som er abstract. Vet ikke om noen har noen tips der?

 

Skal prøve å lage noen enkle spill med musikk og litt sånn i starten, så om noen har lyst til å slenge seg på er det bare å gjøre det. I første omgang blir det pong eller noe lignende. :) Utgangspunktet mitt er kun første året på høyskole, så er i startgropa, men det er det sikkert flere som er her også!

Lenke til kommentar
Videoannonse
Annonse
import javax.media.opengl.*;
import javax.media.opengl.GLEventListener.*;
import java.awt.*;
import javax.swing.*;
import java.applet.*;
import java.util.*;
import javax.media.opengl.glu.GLU;
//import com.sun.opengl.util.Animator;
import java.awt.event.*;

public class Test extends Applet implements KeyListener
{
GLCapabilities glCaps;
GLCanvas glCanvas;
static GLU glu;
GLDrawable gLDrawable;

Test()
{
	super();
	glCaps = new GLCapabilities();
	glCaps.setHardwareAccelerated(true);
	glCaps.setDoubleBuffered(true);
	glCanvas = new GLCanvas(glCaps);
	GL gl = new GL();//<------------------------------- hmm?
	GLU glu = new GLU();
}

public void init() 				//Laste inn texturer osv. Gjøre klart vinduer osv.
{
	System.out.println("Init started.");

	//add(glCanvas);

	//gl.glEnable(GL.GL_DEPTH_TEST);
	//gl.glDepthFunc(GL.GL_LEQUAL);
	//gl.glShadeModel(GL.GL_SMOOTH);
	//gl.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
       //gl.glClearColor(0f, 0f, 0f, 1f);

	System.out.println("Init ended.");
}
public void start() 			//Plassere figurer på mappet.
{
	System.out.println("Start started.");


	System.out.println("Start ended.");
}
public void run() 				//Loope til spillet er over.
{
	System.out.println("Run started.");


	System.out.println("Run ended.");
}
public void stop() 				//Spillet slutt?
{
	System.out.println("Stop started.");


	System.out.println("Stop ended.");

}
public void destroy() 			//Kjøres om spillet avsluttes/Termineres.
{
	System.out.println("Destroy started.");


	Scanner tekst = new Scanner(System.in);
	tekst.nextInt(); //For å forhindre loop av programmet.

	System.out.println("Destroy ended.");
}


public static void main (String [] args)
{

	JFrame frame = new JFrame();
	Test vindu = new Test();
	frame.add(vindu);

	frame.setSize(400,300);
	frame.setLocationRelativeTo(null);
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.setVisible(true);

	vindu.init();
	vindu.start();
	vindu.run();
	vindu.stop();
	vindu.destroy();
}
/*
   public void displayChanged(GLAutoDrawable gLDrawable, boolean modeChanged, boolean deviceChanged)
{

   }
   public void reshape(GLAutoDrawable gLDrawable, int x, int y, int width, int height)
   {
	GL gl = gLDrawable.getGL();
	if(height <= 0)
	{
	    height = 1;
	}
	float h = (float)width / (float)height;
	gl.glMatrixMode(GL.GL_PROJECTION);
	gl.glLoadIdentity();
	glu.gluPerspective(50.0f, h, 1.0, 1000.0);
	gl.glMatrixMode(GL.GL_MODELVIEW);
	gl.glLoadIdentity();
}

   public void display(GLAutoDrawable gLDrawable)
   {

   }
   public void init(GLAutoDrawable gLDrawable)
   {
}
*/
   public void keyPressed(KeyEvent e)
   {
	if(e.getKeyCode() == KeyEvent.VK_ESCAPE)
	{
    	stop();
    	destroy();
	}
   }
   public void keyReleased(KeyEvent e)
   {

   }
   public void keyTyped(KeyEvent e)
   {

   }

}

Endret av OrIoN89
Lenke til kommentar
  • 2 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...