Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (732)
Games in Android Showcase (221)
games submitted by our members
Games in WIP (806)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1]
1  Game Development / Newbie & Debugging Questions / moving images in a game loop on: 2004-04-09 07:38:53
hi,
I'm trying to setup a basic gameloop.
it runs but animation isn't smooth ( lots of flicker ).
as a personalJava application it must be compatible  with jdk 1.1
what's wrong with this code?
can you help me? thanks.
eml

import java.awt.*;
import java.awt.event.*;

//-----------------------Engine-------------------------------------------------
public class Engine extends Frame implements ActionListener {
 public LevelOne levOne;
 public static void main (String[] args) {
   Engine engine = new Engine();
 }
 public Engine() {
   levOne = new LevelOne();
   levOne.setSize(300, 300);
   add("Center", levOne);
   addWindowListener(new winExit());
   setLayout ( new FlowLayout());
   setSize( 300, 300);
   this.setBackground(levOne.black);
   show();
 }
 public void actionPerformed(ActionEvent e)
 {
   dispatchEvent( new WindowEvent( this, WindowEvent.WINDOW_CLOSING));
 }
}
//----------------------------winExit-------------------------------------------
class winExit extends WindowAdapter {
 public void windowClosing(WindowEvent e) {
   System.exit(0);
 }
}
//--------------------------LevelOne--------------------------------------------
class LevelOne extends Canvas implements MouseMotionListener, Runnable {
 Thread t;
 Image offscreenImage;
 Graphics offscreenGraphics;
 Color black = new Color(0, 0, 0);
 Image background1, sprite1;
 Toolkit toolkit = Toolkit.getDefaultToolkit();
 int posX = 50, posY = 50;
 LevelOne(){
   background1 = toolkit.getImage("bacground.jpg");
   sprite1 = toolkit.getImage("sprite.gif");
   t = new Thread(this, "LevelOne");
   t.start();
}
public void run(){
   for ( ;; ) {
     try {
       posY++;
       if (posY > 300) posY = 0;
       t.sleep(16);
       repaint();
     } catch (InterruptedException e) {}
   }
 }
 public void paint(Graphics g) {
   if(offscreenImage==null) {
// set up a simple double buffer
     offscreenImage = createImage(this.size().width, this.size().height);
     offscreenGraphics = offscreenImage.getGraphics();
   }
   offscreenGraphics.drawImage(background1, 0, 0, this);
   offscreenGraphics.drawImage(sprite1, posX, posY, this);
   g.drawImage(offscreenImage, 0, 0, this);
 }
 public void mouseMoved(MouseEvent e){}
 public void mouseDragged(MouseEvent e){}
}
Pages: [1]
 
Archive (403 views)
2017-04-27 17:45:51

buddyBro (587 views)
2017-04-05 03:38:00

CopyableCougar4 (1045 views)
2017-03-24 15:39:42

theagentd (1075 views)
2017-03-24 15:32:08

Rule (1052 views)
2017-03-19 12:43:22

Rule (1035 views)
2017-03-19 12:42:17

Rule (1025 views)
2017-03-19 12:36:21

theagentd (1164 views)
2017-03-16 05:07:07

theagentd (1108 views)
2017-03-15 22:37:06

theagentd (834 views)
2017-03-15 22:32:18
List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05

SF/X Libraries
by SkyAphid
2017-03-02 06:38:56

SF/X Libraries
by SkyAphid
2017-03-02 06:38:32

SF/X Libraries
by SkyAphid
2017-03-02 06:38:05

SF/X Libraries
by SkyAphid
2017-03-02 06:37:51
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!