OrIoN89 Skrevet 9. juli 2010 Del Skrevet 9. juli 2010 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
OrIoN89 Skrevet 9. juli 2010 Forfatter Del Skrevet 9. juli 2010 (endret) 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 9. juli 2010 av OrIoN89 Lenke til kommentar
GeirGrusom Skrevet 11. juli 2010 Del Skrevet 11. juli 2010 GL og GLU er vel statiske klasser? Lenke til kommentar
OrIoN89 Skrevet 20. juli 2010 Forfatter Del Skrevet 20. juli 2010 Tenkte jeg kunne svare kjapt at dette ikke er mulig på en enkel måte, så ga meg med å forsøke det. Helt rett som du sier at GL er statisk. Lenke til kommentar
kbotnen Skrevet 22. juli 2010 Del Skrevet 22. juli 2010 Hei, Hvorfor vil du bruke applets? Kan du prøve å bruke Java Webstart? Jeg brukte hvertfall jws på mine java + opengl prosjekter, og det fungerte fin fint. Og hvorfor trenger du å lage egne GL objekter? -K- Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå