如何运用java程序设计创建移动图形(碰撞检测)
在上一节的教程中,如何运用java程序设计认识了运动的控制,那么现在我们在深入去制作,那么就是对于碰撞检测吧。
在游戏中判断物体是否碰撞到其他物体,是一个非常重要的知识点,例如子弹碰到飞机,小球碰到墙壁,贪吃蛇碰到障碍物等。
阅读课本碰撞检测部分,碰撞检测主要靠判断两个物体,是否有重叠部分来进行。
下面我们用一个运动过程中,碰到墙壁会反弹的例子,来说明碰撞检测的方法。
我们可以将上一节课的MyPanel改成下面的代码,可以实现小球碰到墙壁时反弹:
import java.awt.*;
import java.awt.image.*;
import java.util.*;
public class MyPanel extends Panel implements Runnable {
private int x;
private int y;
private int dx,dy;
private int diameter;
private int width;
private int height;
private Image im;
private Graphics dbg;
public MyPanel() {
x=50;
y=50;
dx=10;dy=10;
diameter=50;
width=300;
height=200;
set