Java 如何阻止repaint()方法闪烁
基本上,当屏幕刷新时,它会闪烁白色,然后一秒钟后,它会再次闪烁。我在mac电脑上工作,在eclipse上屏幕不会闪烁,但当我把它放入小程序时,它就开始闪烁Java 如何阻止repaint()方法闪烁,java,image,applet,awt,repaint,Java,Image,Applet,Awt,Repaint,基本上,当屏幕刷新时,它会闪烁白色,然后一秒钟后,它会再次闪烁。我在mac电脑上工作,在eclipse上屏幕不会闪烁,但当我把它放入小程序时,它就开始闪烁 import java.awt.event.*; import java.applet.Applet; import java.applet.AudioClip; import java.awt.*; import java.net.URL; import java.io.*; import java.net.*; import javax
import java.awt.event.*;
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.*;
import java.net.URL;
import java.io.*;
import java.net.*;
import javax.swing.*;
import javax.swing.event.*; //Copyright MRE Dev
//Anyone that steals this code will be prostituted
public class RadicalRacingApplet extends Applet implements KeyListener {
final int WIDTH = 900, HEIGHT = 650;
double p1Speed = 0;
double p2Speed = 0;
double bullet1Speed = 7;
double bullet2Speed = 7;
final int UP = 0, RIGHT = 1, DOWN = 2, LEFT = 3;
int p1Direction = 1;
int p2Direction = 1;
int counterp1 = 0;
int counterp2 = 0;
int scoreN = 0;
int bullets = 0;
int p1Deaths = 0;
int p2Deaths = 0;
final int shoot = 1;
final int shootOther = 3;
final int shoot2 = 1;
final int shoot2Other = 3;
final int normal = 1;
final int big = 3;
final int normal2 = 1;
final int big2 = 3;
int bullets2 = 0;
int bigBullets = 0;
int bigBullets2 = 0;
String scoreS = " ";
URL eng = this.getClass().getResource ("hit.wav");
AudioClip snd = JApplet.newAudioClip(eng);
Rectangle p1 = new Rectangle(135,220,30,30);
Rectangle p2 = new Rectangle(700,300,30,30);
//Obstacles
Rectangle ob1 = new Rectangle(475,75,50,600);
Rectangle bullets1 = new Rectangle(0,0,10,5);
Rectangle bullets2Rect = new Rectangle(0,0,10,5);
Rectangle powerUp1 = new Rectangle(475,680,50,50);
Rectangle bigBullet = new Rectangle(200,600,50,50);
Rectangle bigBullet2 = new Rectangle(800,600,50,50);
public void init() {
Move1 m1 = new Move1();
m1.start();
Bullets1 b1 = new Bullets1();
b1.start();
Move2 m2 = new Move2();
m2.start();
Bullets2 b2 = new Bullets2();
b2.start();
PowerUps p1 = new PowerUps();
p1.start();
BigBullet1 bg1 = new BigBullet1();
bg1.start();
BigBullet2 bg2 = new BigBullet2();
bg2.start();
snd.loop();
}
public void paint(Graphics g) {
super.paint(g);
super.repaint();
g.setColor(Color.blue);
g.fillRect(0,0,1000,750);
g.setColor(Color.WHITE);
g.setFont(new Font("Arial",Font.PLAIN,16));
g.setColor(Color.BLACK);
g.fillRect(ob1.x, ob1.y, ob1.width, ob1.height);
g.setColor(Color.WHITE);
g.drawString(scoreS, 100, 100);
g.fill3DRect(powerUp1.x, powerUp1.y, powerUp1.width, powerUp1.height, true);
g.fill3DRect(bigBullet.x, bigBullet.y, bigBullet.width, bigBullet.height,true);
g.fill3DRect(bigBullet2.x, bigBullet2.y, bigBullet2.width, bigBullet2.height, true);
g.setColor(Color.YELLOW);
g.setFont(new Font("Arial",Font.BOLD,30));
g.drawString("P1 Deaths " + p1Deaths, 200, 50);
g.drawString("P2 Deaths" + p2Deaths, 400, 50);
Image img1;
Image img2;
Image img3;
Image img4;
Image img5;
Image img6;
Image img7;
Image img8;
try{
URL url = this.getClass().getResource("p1.png");
URL url2 = this.getClass().getResource("p1Right.png");
URL url3 = this.getClass().getResource("p1Left.png");
URL url4 = this.getClass().getResource("p1Down.png");
URL url5 = this.getClass().getResource("bullet.png");
URL url6 = this.getClass().getResource("bullet2.png");
URL url7 = this.getClass().getResource("bigBullet.png");
URL url8 = this.getClass().getResource("bigBullet2.png");
img1 = Toolkit.getDefaultToolkit().getImage(url);
img2 = Toolkit.getDefaultToolkit().getImage(url2);
img3 = Toolkit.getDefaultToolkit().getImage(url3);
img4 = Toolkit.getDefaultToolkit().getImage(url4);
img5 = Toolkit.getDefaultToolkit().getImage(url5);
img6 = Toolkit.getDefaultToolkit().getImage(url6);
img7 = Toolkit.getDefaultToolkit().getImage(url7);
img8 = Toolkit.getDefaultToolkit().getImage(url8);
if(p1Direction == UP) {
g.drawImage(img1, p1.x, p1.y, this);
}
if(p1Direction == RIGHT) {
g.drawImage(img2, p1.x, p1.y, this);
}
if(p1Direction == LEFT) {
g.drawImage(img3, p1.x, p1.y, this);
}
if(p1Direction == DOWN) {
g.drawImage(img4, p1.x, p1.y, this);
}
if(p2Direction == UP) {
g.drawImage(img1, p2.x, p2.y, this);
}
if(p2Direction == RIGHT) {
g.drawImage(img2, p2.x, p2.y, this);
}
if(p2Direction == LEFT) {
g.drawImage(img3, p2.x, p2.y, this);
}
if(p2Direction == DOWN) {
g.drawImage(img4, p2.x, p2.y, this);
}
if(bullets == shoot) {
g.drawImage(img5, bullets1.x, bullets1.y, this);
}
if(bullets == shootOther) {
g.drawImage(img6, bullets1.x, bullets1.y, this);
}
if(bullets2 == shoot2) {
g.drawImage(img6, bullets2Rect.x, bullets2Rect.y, this);
}
if(bullets2 == shoot2Other) {
g.drawImage(img5, bullets2Rect.x, bullets2Rect.y, this);
}
if((bigBullets == big) && (bullets == shoot)) {
g.drawImage(img7,bullets1.x, bullets1.y, this);
}
if((bigBullets2 == big2) && (bullets2 == shoot2Other)) {
g.drawImage(img7, bullets2Rect.x, bullets2Rect.y, this);
}
if((bigBullets2 == big2) && (bullets2 == shoot2)) {
g.drawImage(img8, bullets2Rect.x, bullets2Rect.y, this);
}
if((bigBullets == big) && (bullets == shootOther)) {
g.drawImage(img8, bullets1.x, bullets1.y, this);
}
}
catch(Exception e) {
System.out.println("The images dont work");
}
}
public class Move1 extends Thread implements KeyListener {
public void run() {
addKeyListener(this);
while(true) {
try {
if(p1.intersects(ob1)) {
p1.x = 135;
p1.y = 220;
p1Deaths++;
}
if(p1.intersects(p2)) {
p1.x = 135;
p1.y = 220;
p1Deaths++;
}
if(p1.x >1000) {
p1.x = 0;
}
if(p1.y > 750) {
p1.y = 0;
}
if(p1.x <0) {
p1.x = 1000;
}
if(p1.y < 0) {
p1.y = 750;
}
if(p1Direction == UP) {
p1.y-=(int)p1Speed;
if(p1Speed <=3) {
p1Speed+=.2;
}
}
if(p1Direction == DOWN) {
p1.y+=(int)p1Speed;
if(p1Speed <=3) {
p1Speed+=.2;
}
}
if(p1Direction == LEFT) {
p1.x-=(int)p1Speed;
if(p1Speed <=3) {
p1Speed+=.2;
}
}
if(p1Direction == RIGHT) {
p1.x+=(int)p1Speed;
if(p1Speed <=3) {
p1Speed+=.2;
}
}
Thread.sleep(35);
}
catch(Exception e) {
break;
}
}
}
public void keyPressed(KeyEvent event) {}
public void keyReleased(KeyEvent event) {}
public void keyTyped(KeyEvent event) {
if(event.getKeyChar() == 'a') {
p1Direction = LEFT;
}
if(event.getKeyChar() == 's') {
p1Direction = DOWN;
}
if(event.getKeyChar() == 'd') {
p1Direction = RIGHT;
}
if(event.getKeyChar() == 'w') {
p1Direction = UP;
}
}
}
public class Move2 extends Thread implements KeyListener {
public void run() {
addKeyListener(this);
while(true) {
try {
if(p2.intersects(ob1)) {
p2.x = 700;
p2.y = 300;
p2Deaths++;
}
if(p2.intersects(p1)) {
p2.x = 700;
p2.y = 300;
p2Deaths++;
}
if(p2.x >1000) {
p2.x = 0;
}
if(p2.y > 750) {
p2.y = 0;
}
if(p2.x <0) {
p2.x = 1000;
}
if(p2.y < 0) {
p2.y = 750;
}
if(p2Direction == UP) {
p2.y-=(int)p2Speed;
if(p2Speed <=3) {
p2Speed+=.2;
}
}
if(p2Direction == DOWN) {
p2.y+=(int)p2Speed;
if(p2Speed <=3) {
p2Speed+=.2;
}
}
if(p2Direction == LEFT) {
p2.x-=(int)p2Speed;
if(p2Speed <=3) {
p2Speed+=.2;
}
}
if(p2Direction == RIGHT) {
p2.x+=(int)p2Speed;
if(p2Speed <=3) {
p2Speed+=.2;
}
}
Thread.sleep(35);
}
catch(Exception e) {
break;
}
}
}
public void keyPressed(KeyEvent event) {}
public void keyReleased(KeyEvent event) {}
public void keyTyped(KeyEvent event) {
if(event.getKeyChar() == 'j') {
p2Direction = LEFT;
}
if(event.getKeyChar() == 'k') {
p2Direction = DOWN;
}
if(event.getKeyChar() == 'l') {
p2Direction = RIGHT;
}
if(event.getKeyChar() == 'i') {
p2Direction = UP;
}
}
}
public class Bullets1 extends Thread implements KeyListener{
public void run() {
addKeyListener(this);
while(true) {
try {
if(bullets1.intersects(p2)) {
p2.x = 700;
p2.y = 300;
p2Deaths++;
}
if(bullets1.x > 1000) {
bullet1Speed = 7;
bullets = 0;
bullets1.x = 0;
bullets1.y = 0;
}
if(bullets1.x < 0) {
bullet1Speed = 7;
bullets = 0;
bullets1.x = 0;
bullets1.y = 0;
}
double p1X = p1.getX();
double p1Y = p1.getY();
if(bullets == shoot) {
bullets1.x = (int)p1X;
bullets1.y = (int)p1Y;
if(bullet1Speed >= 5) {
bullet1Speed+=5;
}
bullets1.x+=(int)bullet1Speed;
}
if(bullets == shootOther) {
bullets1.x = (int)p1X;
bullets1.y = (int)p1Y;
if(bullet1Speed >=5) {
bullet1Speed+=5;
}
bullets1.x-=(int)bullet1Speed;
}
Thread.sleep(20);
}
catch(Exception e) {
break;
}
}
}
public void keyPressed(KeyEvent event) {
if(event.getKeyChar() == 'e') {
bullets = shoot;
}
if(event.getKeyChar() == 'q') {
bullets = shootOther;
}
}
@Override
public void keyReleased(KeyEvent event) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent event) {
// TODO Auto-generated method stub
}
}
public class Bullets2 extends Thread implements KeyListener{
public void run() {
addKeyListener(this);
while(true) {
try {
if(bullets2Rect.intersects(p1)) {
p1.x = 135;
p1.y = 300;
p1Deaths++;
}
if(bullets2Rect.x < 0) {
bullet2Speed = 7;
bullets2 = 0;
bullets2Rect.x = 0;
bullets2Rect.y = 0;
}
if(bullets2Rect.x > 1000) {
bullet2Speed = 7;
bullets2 = 0;
bullets2Rect.x = 0;
bullets2Rect.y = 0;
}
double p2X = p2.getX();
double p2Y = p2.getY();
if(bullets2 == shoot2) {
bullets2Rect.x = (int)p2X;
bullets2Rect.y = (int)p2Y;
if(bullet2Speed >= 5) {
bullet2Speed+=5;
}
bullets2Rect.x-=(int)bullet2Speed;
}
if(bullets2 == shoot2Other) {
bullets2Rect.x = (int)p2X;
bullets2Rect.y = (int)p2Y;
if(bullet2Speed >=5) {
bullet2Speed+=5;
}
bullets2Rect.x+=(int)bullet2Speed;
}
Thread.sleep(20);
}
catch(Exception e) {
break;
}
}
}
public void keyPressed(KeyEvent event) {
if(event.getKeyChar() == 'u') {
bullets2 = shoot2;
}
if(event.getKeyChar() == 'o') {
bullets2 = shoot2Other;
}
}
@Override
public void keyReleased(KeyEvent event) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent event) {
// TODO Auto-generated method stub
}
}
public class PowerUps extends Thread implements KeyListener {
public void run() {
addKeyListener(this);
while(true) {
try {
int countPower = 0;
int countPower2 = 0;
if(p1.intersects(powerUp1)) {
powerUp1.setSize(0,0);
countPower = 1;
}
if(countPower == 1) {
p1Speed = 7;
Thread.sleep(10000);
}
if(countPower == 0) {
p1Speed = 3;
}
if(p2.intersects(powerUp1)) {
powerUp1.setSize(0,0);
countPower2 = 1;
}
if(countPower2 == 1) {
p2Speed = 7;
Thread.sleep(10000);
}
if(countPower == 0) {
p2Speed = 3;
}
Thread.sleep(35);
}
catch (Exception e) {
break;
}
}
}
@Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}
public class BigBullet1 extends Thread {
public void run() {
while(true) {
try {
if(p1.intersects(bigBullet)) {
bigBullet.setSize(0,0);
bigBullets = big;
Thread.sleep(10000);
bigBullets = normal;
}
if(p2.intersects(bigBullet)) {
bigBullet.setSize(0,0);
bigBullets2 = big;
Thread.sleep(10000);
bigBullets2 = normal2;
}
}
catch(Exception e) {
break;
}
}
}
}
public class BigBullet2 extends Thread {
public void run() {
while(true) {
try {
if(p2.intersects(bigBullet2)) {
bigBullet2.setSize(0,0);
bigBullets2 = big2;
Thread.sleep(10000);
bigBullets2 = normal2;
}
if(p1.intersects(bigBullet2)) {
bigBullet2.setSize(0,0);
bigBullets = big2;
bullets1.setSize(10,10);
Thread.sleep(10000);
bigBullets = normal2;
}
}
catch(Exception e) {
break;
}
}
}
}
@Override
public void keyPressed(KeyEvent event) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent event) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent event) {
// TODO Auto-generated method stub
}
导入java.awt.event.*;
导入java.applet.applet;
导入java.applet.AudioClip;
导入java.awt.*;
导入java.net.URL;
导入java.io.*;
导入java.net。*;
导入javax.swing.*;
导入javax.swing.event.*//版权所有MRE-Dev
//任何窃取此密码的人都将被卖淫
公共类RadicalRacingApplet扩展小程序实现KeyListener{
最终内部宽度=900,高度=650;
双p1速度=0;
双倍速度=0;
双子弹1速度=7;
双子弹2速度=7;
最终整数向上=0,右=1,向下=2,左=3;
int p1方向=1;
int p2方向=1;
1=0;
int=2=0;
积分n=0;
int=0;
int=0;
int=0;
最终int射击=1;
最终结果:其他=3;
最终积分2=1;
最终int shoot2其他=3;
最终int正常值=1;
最终int大=3;
最终整数法线2=1;
最终int big2=3;
int bullets2=0;
int=0;
int-bigbarkets2=0;
字符串分数=”;
URL eng=this.getClass().getResource(“hit.wav”);
音频剪辑snd=JApplet.newAudioClip(英语);
矩形p1=新矩形(135220,30,30);
矩形p2=新矩形(700300,30,30);
//障碍物
矩形ob1=新矩形(475,75,50600);
矩形项目符号1=新矩形(0,0,10,5);
矩形项目符号2rect=新矩形(0,0,10,5);
矩形通电1=新矩形(475680,50,50);
矩形大子弹=新矩形(200600,50,50);
矩形bigbarket2=新矩形(800600,50,50);
公共void init(){
Move1 m1=新的Move1();
m1.start();
Bullets1 b1=新的Bullets1();
b1.开始();
Move2 m2=新的Move2();
m2.start();
Bullets2 b2=新的Bullets2();
b2.start();
加电p1=新加电();
p1.开始();
BigBullet1 bg1=新的BigBullet1();
bg1.start();
BigBullet2 bg2=新的BigBullet2();
bg2.start();
snd.loop();
}
公共空间涂料(图g){
超级油漆(g);
super.repaint();
g、 setColor(Color.blue);
g、 fillRect(0,01000750);
g、 setColor(Color.WHITE);
g、 setFont(新字体(“Arial”,普通字体,16));
g、 设置颜色(颜色为黑色);
g、 fillRect(ob1.x,ob1.y,ob1.width,ob1.height);
g、 setColor(Color.WHITE);
g、 抽绳(分数,100,100);
g、 fill3DRect(powerUp1.x,powerUp1.y,powerUp1.width,powerUp1.height,true);
g、 fill3DRect(bigBullet.x,bigBullet.y,bigBullet.width,bigBullet.height,true);
g、 fill3DRect(bigBullet2.x,bigBullet2.y,bigBullet2.width,bigBullet2.height,true);
g、 setColor(颜色为黄色);
g、 setFont(新字体(“Arial”,字体粗体,30));
g、 抽绳(“P1死亡”+P1死亡,200,50);
g、 抽绳(“P2死亡”+P2死亡,400,50);
图像img1;
图像img2;
图像img3;
图像img4;
图像img5;
图像img6;
图像img7;
图像img8;
试一试{
URL URL=this.getClass().getResource(“p1.png”);
URL url2=this.getClass().getResource(“p1Right.png”);
URL url3=this.getClass().getResource(“p1Left.png”);
URL url4=this.getClass().getResource(“p1Down.png”);
URL url5=this.getClass().getResource(“bullet.png”);
URL url6=this.getClass().getResource(“bullet2.png”);
URL url7=this.getClass().getResource(“bigbill.png”);
URL url8=this.getClass().getResource(“bigbrullet2.png”);
img1=Toolkit.getDefaultToolkit().getImage(url);
img2=Toolkit.getDefaultToolkit().getImage(url2);
img3=Toolkit.getDefaultToolkit().getImage(url3);
img4=Toolkit.getDefaultToolkit().getImage(url4);
img5=Toolkit.getDefaultToolkit().getImage(url5);
img6=Toolkit.getDefaultToolkit().getImage(url6);
img7=Toolkit.getDefaultToolkit().getImage(url7);
img8=Toolkit.getDefaultToolkit().getImage(url8);
如果(p1方向==向上){
g、 drawImage(img1,p1.x,p1.y,this);
}
如果(p1方向==右侧){
g、 drawImage(img2、p1.x、p1.y、this);
}
如果(p1方向==左){
g、 drawImage(img3,p1.x,p1.y,this);
}
如果(p1方向==向下){
g、 drawImage(img4,p1.x,p1.y,this);
}
如果(p2方向==向上){
g、 drawImage(img1,p2.x,p2.y,this);
}
如果(p2方向==右侧){
g、 drawImage(img2,p2.x,p2.y,this);
}
如果(p2方向==左){
g、 drawImage(img3,p2.x,p2.y,this);
}
如果(p2方向==向下){
g、 drawImage(img4,p2.x,p2.y,this);
}
如果(子弹==射击){
g、 drawImage(img5,bullets1.x,bullets1.y,this);
}
如果(项目符号==其他){
g、 drawImage(img6,bullets1.x,bullets1.y,this);
}
如果(bullets2==shoot2){
g、 drawImage(img6,BulletsRect.x,BulletsRect.y,this);
}
如果(bullets2==Shoot2其他){
g、 drawImage(img5,BulletsRect.x,BulletsRect.y,this);
}
如果((大子弹==大)和(&(子弹==射击)){
g、 drawImage(img7,bullets1.x,bullets1.y,this);
}
如果((bigBullets2==big2)和&(bullets2==Shoot2其他)){
g、 drawImage(img7,BulletsRect.x,BulletsRect.y,this);
}
如果((bigBullets2==big2)和&(bullets2==shoot2)){
g、 drawImage(img8,BulletsRect.x,BulletsRect.y,this);
}
如果((大项目符号==大项目)和&(项目符号==其他项目)){
g、 drawImage(img8,bullets1.x,bullets1.y,this);
}
}
捕获(例外e){
System.out.println(“图像不工作”);
}
}
公共类Move1扩展线程实现KeyListener{
公开募捐{
addKeyListener(此);
while(true){
试一试{
如果(p1.相交(ob1)){
p1.x=135;
p1.y=220;
p16++;
}
如果(p1.相交(p2)){
public class GamePane extends JPanel implements KeyListener {
final int WIDTH = 900, HEIGHT = 650;
double p1Speed = 0;
double p2Speed = 0;
double bullet1Speed = 7;
double bullet2Speed = 7;
final int UP = 0, RIGHT = 1, DOWN = 2, LEFT = 3;
int p1Direction = 1;
int p2Direction = 1;
int counterp1 = 0;
int counterp2 = 0;
int scoreN = 0;
int bullets = 0;
int p1Deaths = 0;
int p2Deaths = 0;
final int shoot = 1;
final int shootOther = 3;
final int shoot2 = 1;
final int shoot2Other = 3;
final int normal = 1;
final int big = 3;
final int normal2 = 1;
final int big2 = 3;
int bullets2 = 0;
int bigBullets = 0;
int bigBullets2 = 0;
String scoreS = " ";
URL eng = this.getClass().getResource("hit.wav");
AudioClip snd = JApplet.newAudioClip(eng);
Rectangle p1 = new Rectangle(135, 220, 30, 30);
Rectangle p2 = new Rectangle(700, 300, 30, 30);
//Obstacles
Rectangle ob1 = new Rectangle(475, 75, 50, 600);
Rectangle bullets1 = new Rectangle(0, 0, 10, 5);
Rectangle bullets2Rect = new Rectangle(0, 0, 10, 5);
Rectangle powerUp1 = new Rectangle(475, 680, 50, 50);
Rectangle bigBullet = new Rectangle(200, 600, 50, 50);
Rectangle bigBullet2 = new Rectangle(800, 600, 50, 50);
public BadApplet2() {
Move1 m1 = new Move1();
m1.start();
Bullets1 b1 = new Bullets1();
b1.start();
Move2 m2 = new Move2();
m2.start();
Bullets2 b2 = new Bullets2();
b2.start();
PowerUps p1 = new PowerUps();
p1.start();
BigBullet1 bg1 = new BigBullet1();
bg1.start();
BigBullet2 bg2 = new BigBullet2();
bg2.start();
snd.loop();
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
// This bad, don't do it
//super.repaint();
g.setColor(Color.blue);
g.fillRect(0, 0, 1000, 750);
g.setColor(Color.WHITE);
g.setFont(new Font("Arial", Font.PLAIN, 16));
g.setColor(Color.BLACK);
g.fillRect(ob1.x, ob1.y, ob1.width, ob1.height);
g.setColor(Color.WHITE);
g.drawString(scoreS, 100, 100);
g.fill3DRect(powerUp1.x, powerUp1.y, powerUp1.width, powerUp1.height, true);
g.fill3DRect(bigBullet.x, bigBullet.y, bigBullet.width, bigBullet.height, true);
g.fill3DRect(bigBullet2.x, bigBullet2.y, bigBullet2.width, bigBullet2.height, true);
g.setColor(Color.YELLOW);
g.setFont(new Font("Arial", Font.BOLD, 30));
g.drawString("P1 Deaths " + p1Deaths, 200, 50);
g.drawString("P2 Deaths" + p2Deaths, 400, 50);
// This is bad, don't do it...
// Move these to the field level of the class
// and load them in the constructor
/*
Image img1;
Image img2;
Image img3;
Image img4;
Image img5;
Image img6;
Image img7;
Image img8;
*/
//try {
// This is bad don't do it...
/*
URL url = this.getClass().getResource("p1.png");
URL url2 = this.getClass().getResource("p1Right.png");
URL url3 = this.getClass().getResource("p1Left.png");
URL url4 = this.getClass().getResource("p1Down.png");
URL url5 = this.getClass().getResource("bullet.png");
URL url6 = this.getClass().getResource("bullet2.png");
URL url7 = this.getClass().getResource("bigBullet.png");
URL url8 = this.getClass().getResource("bigBullet2.png");
img1 = Toolkit.getDefaultToolkit().getImage(url);
img2 = Toolkit.getDefaultToolkit().getImage(url2);
img3 = Toolkit.getDefaultToolkit().getImage(url3);
img4 = Toolkit.getDefaultToolkit().getImage(url4);
img5 = Toolkit.getDefaultToolkit().getImage(url5);
img6 = Toolkit.getDefaultToolkit().getImage(url6);
img7 = Toolkit.getDefaultToolkit().getImage(url7);
img8 = Toolkit.getDefaultToolkit().getImage(url8);
*/
if (p1Direction == UP) {
g.drawImage(img1, p1.x, p1.y, this);
}
if (p1Direction == RIGHT) {
g.drawImage(img2, p1.x, p1.y, this);
}
if (p1Direction == LEFT) {
g.drawImage(img3, p1.x, p1.y, this);
}
if (p1Direction == DOWN) {
g.drawImage(img4, p1.x, p1.y, this);
}
if (p2Direction == UP) {
g.drawImage(img1, p2.x, p2.y, this);
}
if (p2Direction == RIGHT) {
g.drawImage(img2, p2.x, p2.y, this);
}
if (p2Direction == LEFT) {
g.drawImage(img3, p2.x, p2.y, this);
}
if (p2Direction == DOWN) {
g.drawImage(img4, p2.x, p2.y, this);
}
if (bullets == shoot) {
g.drawImage(img5, bullets1.x, bullets1.y, this);
}
if (bullets == shootOther) {
g.drawImage(img6, bullets1.x, bullets1.y, this);
}
if (bullets2 == shoot2) {
g.drawImage(img6, bullets2Rect.x, bullets2Rect.y, this);
}
if (bullets2 == shoot2Other) {
g.drawImage(img5, bullets2Rect.x, bullets2Rect.y, this);
}
if ((bigBullets == big) && (bullets == shoot)) {
g.drawImage(img7, bullets1.x, bullets1.y, this);
}
if ((bigBullets2 == big2) && (bullets2 == shoot2Other)) {
g.drawImage(img7, bullets2Rect.x, bullets2Rect.y, this);
}
if ((bigBullets2 == big2) && (bullets2 == shoot2)) {
g.drawImage(img8, bullets2Rect.x, bullets2Rect.y, this);
}
if ((bigBullets == big) && (bullets == shootOther)) {
g.drawImage(img8, bullets1.x, bullets1.y, this);
}
//} catch (Exception e) {
// System.out.println("The images dont work");
//}
}
// Add the rest of the code
}
public class RadicalRacingApplet extends JApplet {
public void init() {
setLayout(new BorderLayout());
add(new GamePanel());
}
}