package com.bjsxt;//scr中新建的包package
import java.awt.*;
import javax.swing.*;

public class BallGame extends JFrame {
Image ball=Toolkit.getDefaultToolkit().getImage("images/ball.png");
Image desk=Toolkit.getDefaultToolkit().getImage("images/desk.png");
double x=200;
double y=200;
double degree=3.14/3;
//绘制窗口
public void paint(Graphics g){
System.out.println("窗口被绘制了一次。");
g.drawImage(desk,0,0,null);
g.drawImage(ball,(int)x,(int)y,null);
x=x+10*Math.cos(degree);
y=y+10*Math.sin(degree);
//碰到上下边界
if(y>501-40-30||y<0+40+30){
degree=-degree;
}
//碰到左右边界
if(x>856-40-30||x<0+40+30) {
degree = 3.14 - degree;
}
}
//创建窗口
void launchFrame(){
setSize(856,501);
setLocation(100,100);
setVisible(true);
//实现动画,每秒绘制窗口25次
while(true){
repaint();
try {
Thread.sleep(40);//1s=1000ms,大约1s绘制25次
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args){
System.out.println("我的小游戏开始了!");
BallGame game=new BallGame();
game.launchFrame();
}

}

最新文章

  1. Oracle学习指南
  2. hdu Tempter of the Bone
  3. SQL Server 2012 使用警报调度数据库作业通知操作员
  4. 判断 iPhone 是否已插入 SIM 卡的方法
  5. Linux报too many open files的解决方案
  6. Javascript内存泄漏
  7. debian将默认中文改成英文
  8. mysql进阶(九)多表查询
  9. Navicat 连接VMware中Ubuntu 下的mysql5.7遇到的坑
  10. Spring Boot 2.x以后static下面的静态资源被拦截
  11. VS重新生成项目失败,但是不报错
  12. Day12 (黑客成长日记) 函数
  13. chattr和lsattr命令的使用(对于root用户也无法修改删除的操作问题)
  14. ubuntu:如何制作类似jeso的系统?
  15. Linux 后台进程管理
  16. react知识点汇总
  17. ElasticStack系列之六 &amp; 版本冲突处理之乐观锁
  18. HDU-4035-概率dp-期望-公式化简
  19. TCP 中出现RST的情况
  20. Python基础-socket编程

热门文章

  1. C++ 编译依赖管理系统分析以及 srcdep 介绍
  2. [深度探索C++对象模型]trival constructor和non-trival constructor
  3. BC3-牛牛学说话之-整数
  4. 基于windows系统使用GNVM进行node切换版本
  5. angular使用_HttpClient或者Fetch发送POST/GET请求下载/上传文件
  6. Anaconda和pip常用命令汇总:简单,通俗易懂
  7. 【学习笔记】XR872 GUI Littlevgl 8.0 移植(文件系统)
  8. 让 MSYS2 Bash 像 Git Bash 一样显示 Git 分支名称
  9. Symbol.iterator 迷惑行为
  10. ChatGPT:好家伙,每个人内心的一块魔镜