博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【10-25】OOP基础-飞机游戏知识点
阅读量:6293 次
发布时间:2019-06-22

本文共 1007 字,大约阅读时间需要 3 分钟。

知识点


 

  • 鼠标适配器类为抽象类,使用匿名子类实现鼠标事件的重写,创建一个鼠标适配器对象

  • 添加鼠标事件监听器到JPanel对象实现鼠标的响应

  • 创建定时器Timer对象,在定时器的任务列表方法schedule中,添加一个定时器任务TimerTask抽象类的匿名子类对象,并重写run()方法,实现定时任务

  • repaint()方法默认调用JPanel的子类重写方法paint(),使用参数Graphics对象的drawImage(BufferedImage,x,xy,null)方法实现画面填充

  • 使用Graphics对象的set方法设置画笔的参数,drawString(String,x,y)方法填充字符串

  • 要显示画面,添加一个JPanel对象到JFrame对象,设置框架参数,显示画面

  • 飞机发子弹是通过飞机对象的shoot()方法返回一个Bullet对象数组实现的

  • 添加射击的动作把飞机方法产生的子弹添加到子弹数组,利用定时重绘就产生连续发射的效果

  • 由于定时器每隔interval执行一次run方法,因此利用整除和取余的技巧实现interval的设定倍数添加对象到数组
  • 创建BufferedImage对象为Graphics对象提供参数进行画面绘制,利用ImageIO.read(ClassName.Class.getResource(String))静态方法获取资源

  • read方法的签名为:

 

 


 

ClassName.class.getResource(String)方法

  • 当String加根目录的斜线时,表示从包外为根目录(也就是项目路径)来获取资源当不加斜线时,表示从当前包为根目录来获取资源

 ClassName.class.getClassLoader().getResource(String)方法

  • class.getResource("/")==class.getClassLoader().getResource("")
  • 只能访问项目内的文件,怎么去访问项目外的文件?
  • 总结一句话就是,不加斜线时getClassLoader().getResource(String)时以项目路径为根目录,而class.getResource(String)则是以包为根目录(前者以类加载器为寻找依据,后者以类路径为寻找依据)

转载于:https://www.cnblogs.com/achievec/p/4910020.html

你可能感兴趣的文章
让Windows图片查看器和windows资源管理器显示WebP格式
查看>>
我的友情链接
查看>>
vim使用点滴
查看>>
embedded linux学习中几个需要明确的概念
查看>>
mysql常用语法
查看>>
Morris ajax
查看>>
【Docker学习笔记(四)】通过Nginx镜像快速搭建静态网站
查看>>
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
查看>>
<转>云主机配置OpenStack使用spice的方法
查看>>
java jvm GC 各个区内存参数设置
查看>>
[使用帮助] PHPCMS V9内容模块PC标签调用说明
查看>>
关于FreeBSD的CVSROOT的配置
查看>>
基于RBAC权限管理
查看>>
数学公式的英语读法
查看>>
留德十年
查看>>
迷人的卡耐基说话术
查看>>
PHP导出table为xls出现乱码解决方法
查看>>
PHP问题 —— 丢失SESSION
查看>>
Java中Object类的equals()和hashCode()方法深入解析
查看>>
数据库
查看>>