天天育儿网,内容丰富有趣,生活中的好帮手!
天天育儿网 > java小球挡板游戏_多线程的一个小球游戏 就是以前的那个Pong游戏

java小球挡板游戏_多线程的一个小球游戏 就是以前的那个Pong游戏

时间:2020-12-24 02:26:59

相关推荐

java小球挡板游戏_多线程的一个小球游戏 就是以前的那个Pong游戏

该楼层疑似违规已被系统折叠隐藏此楼查看此楼

}

}

public class PongApplet extends JApplet implements KeyListener

{

private Ball ball;

private Paddle pad;

public void init()

{

setBackground(Color.white);

addKeyListener(this);

ball=new Ball(this);

pad=new Paddle(this);

ball.start();

requestFocus();

}

public void paint(Graphics g)

{

g.setColor(getBackground());

g.fillRect(0,0,getWidth(),getHeight());

g.setColor(Color.blue);

g.fillOval(ball.getX(),ball.getY(),ball.SIZE,ball.SIZE);

pad.resetLocation();

g.setColor(Color.red);

g.fillRect(pad.getX(),pad.getY(),Paddle.WIDTH,Paddle.HEIGHT);

}

public boolean ballHitsPaddle()

{

return ball.getX()+Ball.SIZE>=pad.getX()&&ball.getY()>=pad.getY()&&ball.getY()<=pad.getY()+Paddle.HEIGHT;

}

public void keyPressed(KeyEvent e)

{

int keyCode=e.getKeyCode();

if(keyCode==KeyEvent.VK_UP)

pad.moveUp();

else if(keyCode==KeyEvent.VK_DOWN)

pad.moveDown();

}

public void keyTyped(KeyEvent e) {}

public void keyReleased(KeyEvent e) {}

}

这个是我写的一个Pong游戏,就是一个小球在一个矩形框里滚动,左面有一个挡板,键盘上下键控制挡板的上下移动,Ball类是一个多线程,可是当运行的时候,无论怎么按键盘上下键的时候,挡板都没有移动,有时候当把屏幕变大在变小后可能会在按下上下键的时候挡板移动,可是并不总是成功,当成功的时候关闭窗口的时候会出现下面的异常:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: component

argument pData

at sun.awt.windows.Win32SurfaceData.initOps(Native Method)

at sun.awt.windows.Win32SurfaceData.(Win32SurfaceData.java:448)

at sun.awt.windows.Win32SurfaceData.createData(Win32SurfaceData.java:316

)

at sun.awt.Win32GraphicsConfig.createSurfaceData(Win32GraphicsConfig.jav

a:357)

at sun.awt.windows.WComponentPeer.replaceSurfaceData(WComponentPeer.java

:332)

at sun.awt.windows.WComponentPeer.replaceSurfaceData(WComponentPeer.java

:313)

at sun.awt.windows.WComponentPeer$2.run(WComponentPeer.java:353)

at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh

read.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

ad.java:163)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

请高手们解释一下这是为什么?还有怎么解决这个问题?多谢了

如果觉得《java小球挡板游戏_多线程的一个小球游戏 就是以前的那个Pong游戏》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。