hi guys.. my problem is that idk how to implement an active rendering in J2ME..
i've tried to do so, however the application is not working.. nothing happens after I run the program..
here is my source code..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public StandardMobileMode(boolean suppressKeyEvents, javax.microedition.lcdui.Display display) { super(suppressKeyEvents); this.display = display; this.currentGraphics = new MIDletGraphics(); }
public Graphics getBackBuffer() { currentGraphics.setGraphics(this.getGraphics()); return currentGraphics; }
public boolean flip() { this.flushGraphics(); return true; } |
btw this is based from GTGE engine.. the getBackBuffer() function returns graphics object from the canvas.. the StandardMobileMode is a subclass of GameCanvas..
this is how i initialized the game canvas.. the class containing this function is a subclass of MIDlet..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public void setup(Game game) { try { engine.mountGame(game); engine.fileIO = new MobileIO(); javax.microedition.lcdui.Display display = javax.microedition.lcdui.Display.getDisplay(this); engine.display = new StandardMobileMode(false, display); engine.timer = new StandardTimer(); } catch(Exception e) { System.exit(-1); } } |
and this is how my gameloop works...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| while(isRunning) { if(!isPaused) { this.game.update(elapsedTime); } do { if(!isRunning) { break; } Graphics g = display.getBackBuffer(); this.game.render(g); } while(!this.display.flip()); elapsedTime = this.timer.sleep(); if(elapsedTime > 100) { elapsedTime = 100; } } |
i can't seem to make this run.. all i get is a blank screen.. can somebody help me? thanks in advance..
