Java简单的台球运动轨迹效果实现

来源:互联网 发布:学vb用什么软件 编辑:程序博客网 时间:2024/04/28 12:04
<span style="font-size:18px;">import java.awt.Color;import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit;/** * 类台球运动 * @author Lixiangjian * */public class BallGame extends Frame{//Image sun 代表所得到的图片路径Image sun =Toolkit.getDefaultToolkit().getImage("images/qiu.jpg");//这种方法写法不好,但最简单//定义x、y轴double x=100;double y=100;double degree =3.14/3;/** * paint画窗口时会自动被调用(non-Javadoc) * Graphics g 相当于一支笔 * g.drawImage 画图像 : 画sun图像,相对于窗口位置x=100,y=100,null始终为null就行了 */public void paint(Graphics g){System.out.println("画一次");//当x、y轴定义为double类的时候由于g.drawImage里边的参数必须为整数,所以这里我们的强制转换成int类型g.drawImage(sun, (int)x, (int)y, null);x=x+10*Math.cos(degree);y = y+10*Math.sin(degree);if(y>300-30){degree = -degree;}if(x>500-30){degree =3.14-degree;}if(x<0){degree= 3.14-degree;}if(y<30){degree=-degree;}}void launchFrame(){//设置窗口大小setSize(500,300);//setLocation()是JFrame里面的方法,设置控件在窗体里初始化的位置setLocation(150, 150);//设置窗口背景颜色//setBackground(Color.blue);//设置窗口标题setTitle("李某某");//设置是否显示setVisible(true);//调用new PaintThread().start();}public static void main(String[] agrs){System.out.println("李某某Java练习");//在主函数中创建类并调用启动窗口new BallGame().launchFrame();}class PaintThread extends Thread{public void run(){while(true){repaint();//重画窗口//40毫秒try {//设置休眠时间Thread.sleep(40);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}</span>

0 0
原创粉丝点击