Show Posts
|
|
Pages: [1]
|
|
2
|
Java Game APIs & Engines / Java 2D / Re: Make a train turn?
|
on: 2003-04-14 10:20:59
|
|
How is the rotation done? When I try like this:
public void roter() { g2.rotate(-1.0, x, y); g2.fill3DRect(x,y,60,20,true); g2.rotate(1.0, -x, -y); }
The turning is done ones, then the train returns to start position again?
|
|
|
|
|
3
|
Java Game APIs & Engines / Java 2D / Make a train turn?
|
on: 2003-04-13 11:54:29
|
Am creating a train simulation, but am having problems with how to turn the train? The turning has to be done while the train is moving. The train: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| class Tog extends JPanel { Graphics2D g2; Rectangle bounds; int x; int y; int x2; int y2; int antalVogne; AffineTransform r; Tog(int x,int y,int antalVogne) { this.x=x; this.y=y; x2=x; y2=y; this.antalVogne=antalVogne; r = new AffineTransform(); } public void update( Graphics g) { paint(g); } public void paint(Graphics g) { g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); bounds = getBounds(); g2.clearRect(0,0,(int)bounds.getWidth(),(int)bounds.getHeight()); g2.setColor(Color.yellow); g2.fill3DRect(x,y,60,20,true); if(antalVogne>0) { x2+=20; for(int i=0;i<antalVogne;i++) { x2+=50; g2.setColor(Color.red); g2.fill3DRect(x2,y2,40,20,true); g2.drawLine(x2-10,y2+10,x2,y2+10); } } } public void opdater(int x, int y) { this.x=x; this.y=y; x2=x; y2=y; } public void roter() { } } |
The class where thread is created: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| ...... t = new Tog(x,y,2); ...... public void run() { while(true) { repaint(); if(x>=600) { x-=1; } else if(x<600 && x>500) { t.roter(); x-=1; y+=1; } else if(x<=500 && x>=400) { x-=1; } t.opdater(x,y); try{ Thread.sleep(50); }catch(InterruptedException a){} } } |
|
|
|
|
|
7
|
Java Game APIs & Engines / Java 2D / Game is not running smoot?
|
on: 2002-12-15 08:29:32
|
Am creating this game and somehow the game is not running smooth. Can anyone help me with this plz..... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
| import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class Fighter extends JApplet implements Runnable,KeyListener { Thread runner; Image buffer; Graphics gf;
int x=400; int y=400;
int skudXStart1=0; int skudYStart1=0; int skudXSlut1=0; int skudYSlut1=0;
int skudXStart2=0; int skudYStart2=0; int skudXSlut2=0; int skudYSlut2=0;
boolean right,left,space;
public void init() { addKeyListener(this); setSize(800,600); } public void start() {
if (runner == null) { runner = new Thread(this); runner.start(); } }
public void stop() {
if(runner != null) { runner = null; } }
public void run() {
while(gf==null) { try { Thread.currentThread().sleep(50); } catch(InterruptedException e){}
}
while(Thread.currentThread()==runner) {
repaint();
gf.setColor(Color.white); gf.fillRect(0, 0, 800, 600);
gf.drawImage((new ImageIcon("raptorSmall.gif")).getImage(),x,y,this); gf.setColor(Color.red); gf.drawLine(skudXStart1,skudYStart1,skudXSlut1,skudYSlut1); gf.drawLine(skudXStart2,skudYStart2,skudXSlut2,skudYSlut2);
if (space) { skudYStart1-=50; skudYSlut1-=50; skudYStart2-=50; skudYSlut2-=50;
if (skudYStart1 <= 0) { space = false; } } if (left) { x -= 10; } if (right) { x += 10; }
try { Thread.currentThread().sleep(50); } catch(InterruptedException e) {}
} } public void paint(Graphics g) { update(g); }
public void update(Graphics g) { if (gf == null) { buffer = createImage(800, 600); gf = buffer.getGraphics(); } g.drawImage(buffer, 0, 0, this);
} public void keyPressed(KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_ESCAPE ) { System.exit(0); } if(e.getKeyCode() == KeyEvent.VK_LEFT) { left=true; } if(e.getKeyCode() == KeyEvent.VK_RIGHT) { right=true; } if(e.getKeyCode() == KeyEvent.VK_SPACE) { if (skudYStart1 <= 0) { skudXStart1=x+20; skudYStart1=y+30; skudXSlut1=x+20; skudYSlut1=450; skudXStart2=x+78; skudYStart2=y+30; skudXSlut2=x+78; skudYSlut2=450; }
space=true;
} } public void keyReleased(KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_LEFT) { left=false; } if(e.getKeyCode() == KeyEvent.VK_RIGHT) { right=false; } if(e.getKeyCode() == KeyEvent.VK_SPACE) { } } public void keyTyped(KeyEvent e){}
} |
|
|
|
|
|
9
|
Java Game APIs & Engines / Java 2D / Re: My game is flickering like hell ??
|
on: 2002-12-04 15:37:46
|
Now I have this question... I want a enemy spaceship to fly against the spaceship efter some delay, how do I do this? The way the code is now the enemy spaceship does this without any delay... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
| import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.image.*; class Raptor extends JFrame implements KeyListener {
Graphics2D g; Timer loop; int x=400; int y=400; int skudXStart1=0; int skudYStart1=0; int skudXSlut1=0; int skudYSlut1=0; int skudXStart2=0; int skudYStart2=0; int skudXSlut2=0; int skudYSlut2=0; boolean right,left,space; Image raptorImage = null; Image enemy1 = null; int enemy1x = 500; int enemy1y = -50; BufferStrategy bs = null; Rectangle bounds = null; Raptor() { addKeyListener(this); setBounds(100,50,800,600); bounds = getBounds(); setVisible(true); } private void render(Graphics g1) { g = (Graphics2D) g1; g.clearRect(0,0,(int)bounds.getWidth(),(int)bounds.getHeight()); if(raptorImage == null) { Image tempImage = new ImageIcon("raptorSmall.gif").getImage(); raptorImage = createImage(tempImage.getWidth(null), tempImage.getHeight(null)); Graphics g = raptorImage.getGraphics(); g.drawImage(tempImage,0,0,null); g.dispose(); } g.drawImage(raptorImage,x,y,this); g.setColor(Color.red); g.drawLine(skudXStart1,skudYStart1,skudXSlut1,skudYSlut1); g.drawLine(skudXStart2,skudYStart2,skudXSlut2,skudYSlut2); if (space) { skudYStart1-=5; skudYSlut1-=5; skudYStart2-=5; skudYSlut2-=5; if (skudYStart1 <= 0) { space = false; } } if (left) { x -= 1; } if (right) { x += 1; } if(enemy1 == null) { Image tempImage2 = new ImageIcon("Enemy1.gif").getImage(); enemy1 = createImage(tempImage2.getWidth(null), tempImage2.getHeight(null)); Graphics g = enemy1.getGraphics(); g.drawImage(tempImage2,0,0,null); g.dispose(); } g.drawImage(enemy1,enemy1x,enemy1y,this); enemy1x-=1; enemy1y+=1; } public void run() { while(true) { if (bs == null) { createBufferStrategy(2); bs = getBufferStrategy(); } Graphics g = bs.getDrawGraphics(); render(g); bs.show(); g.dispose(); } } public void paint(Graphics g1) { super.paint(g1); render(g1); } public void keyPressed(KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_ESCAPE ) { System.exit(0); } if(e.getKeyCode() == KeyEvent.VK_LEFT) { left=true; } if(e.getKeyCode() == KeyEvent.VK_RIGHT) { right=true; } if(e.getKeyCode() == KeyEvent.VK_SPACE) { if (skudYStart1 <= 0) { skudXStart1=x+20; skudYStart1=y+30; skudXSlut1=x+20; skudYSlut1=450; skudXStart2=x+78; skudYStart2=y+30; skudXSlut2=x+78; skudYSlut2=450; } space=true; } } public void keyReleased(KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_LEFT) { left=false; } if(e.getKeyCode() == KeyEvent.VK_RIGHT) { right=false; } if(e.getKeyCode() == KeyEvent.VK_SPACE) { } } public void keyTyped(KeyEvent e){} public static void main(String[] aslan) { new Raptor().run(); } } |
|
|
|
|
|
11
|
Java Game APIs & Engines / Java 2D / My game is flickering like hell ??
|
on: 2002-12-03 18:50:16
|
Am creating a 2D spaceship shooter but am having this problem with my spaceship flickering like hell. How can I solve this? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
| import java.awt.*; import java.awt.event.*; import javax.swing.*;
class Raptor extends JFrame implements KeyListener { Graphics2D g; JLabel raptorL; Thread loop; int x=400; int y=400; int skudXStart1=0; int skudYStart1=0; int skudXSlut1=0; int skudYSlut1=0; int skudXStart2=0; int skudYStart2=0; int skudXSlut2=0; int skudYSlut2=0; boolean right,left,space; int enemy1x=600; int enemy1y=-100; Raptor() { addKeyListener(this); setBounds(100,50,800,600); setVisible(true); } public void paint(Graphics g1) { super.paint(g1); g = (Graphics2D) g1; g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.drawImage((new ImageIcon("raptorSmall.gif")).getImage(),x,y,this); g.setColor(Color.red); g.drawLine(skudXStart1,skudYStart1,skudXSlut1,skudYSlut1); g.drawLine(skudXStart2,skudYStart2,skudXSlut2,skudYSlut2); g.drawImage((new ImageIcon("Enemy1.gif")).getImage(),enemy1x,enemy1y,this);
loop = new Thread(new Runnable() { public void run() { if(right) { x+=1; } if(left) { x-=1; } if(space) { skudYStart1-=5; skudYSlut1-=5; skudYStart2-=5; skudYSlut2-=5; } try{ Thread.sleep(5000); }catch(InterruptedException a){System.out.println(a);}
enemy1x-=1; enemy1y+=1; } }); loop.start();
repaint(); } public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_LEFT) { left=true; } if(e.getKeyCode() == KeyEvent.VK_RIGHT) { right=true; } if(e.getKeyCode() == KeyEvent.VK_SPACE && skudYStart1 <= 0) { skudXStart1=x+20; skudYStart1=y+30; skudXSlut1=x+20; skudYSlut1=450; skudXStart2=x+78; skudYStart2=y+30; skudXSlut2=x+78; skudYSlut2=450; space=true; } } public void keyReleased(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_LEFT) { left=false; } if(e.getKeyCode() == KeyEvent.VK_RIGHT) { right=false; } if(e.getKeyCode() == KeyEvent.VK_SPACE) { } } public void keyTyped(KeyEvent e){} public static void main(String[] aslan) { new Raptor(); } } |
|
|
|
|
|
|
Add your game by posting it in the WIP section,
or publish it in Showcase.
The first screenshot will be displayed as a thumbnail.
|
|