【10-25】OOP基础-飞机游戏知识点
知识点

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

- 添加鼠标事件监听器到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)则是以包为根目录(前者以类加载器为寻找依据,后者以类路径为寻找依据)
【10-25】OOP基础-飞机游戏知识点的更多相关文章
- 一款基础模型的JS打飞机游戏特效代码
<!DOCTYPE html> <html lang="en"> <head> <title>一款基础模型的JS打飞机游戏特效代码& ...
- pygame开发PC端微信打飞机游戏
pygame开发PC端微信打飞机游戏 一.项目简介 1. 介绍 本项目类似曾经火爆的微信打飞机游戏.游戏将使用Python语言开发,主要用到pygame的API.游戏最终将会以python源文件gam ...
- Pygame制作微信打飞机游戏PC版
使用Pygame制作微信打飞机游戏PC版 转至:http://www.cnblogs.com/dukeleo/p/3339780.html 前一阵子看了一篇文章:青少年如何使用Python开始游戏 ...
- python 之路,200行Python代码写了个打飞机游戏!
早就知道pygame模块,就是没怎么深入研究过,恰逢这周未没约到妹子,只能自己在家玩自己啦,一时兴起,花了几个小时写了个打飞机程序. 很有意思,跟大家分享下. 先看一下项目结构 "" ...
- Unreal Engine 4 系列教程 Part 10:制作简单FPS游戏
.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...
- 实例源码--IOS高仿微信打飞机游戏(完整功能)
下载源码 技术要点: 1. IOS游戏开发基础框架 2. 高仿打飞机游戏 3. 游戏背景音频技术 4.源码详细的中文注释 ……. 详细介绍: 1. IOS游戏开发基础框架 此套源码为涉及IOS游戏开发 ...
- <Win32_20>纯c语言版的打飞机游戏出炉了^_^
经过昨天的苦战,终于完成了纯C版的打飞机游戏——使用微信打飞机游戏的素材,不过玩法有些不同,下面会有详述 一.概述游戏的玩法.实现效果 1. 游戏第一步,简单判断一下,给你一个准备的时间: 2.选择& ...
- 用canvas整个打飞机游戏
声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 之前在当耐特的DEMO里看到个打飞机的游戏,然后就把他的图片和音频扒了了下来....自己凭着玩的心情重新写了一个.仅供娱乐哈......我 ...
- Ext OOP基础
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- rsync服务器安装配置
#rsync指定端口号(10002)1 rsync -e 'ssh -p 10002' rsync (server -- client) #2014-3-3 -----------server---- ...
- 数据结构算法C语言实现(十七)--- 5.1&5.2数组:定义、顺序表示及实现
一.简述 理解数组位置的计算公式 LOC(j1, j2, ···, jn) = LOC(0, 0, ..., 0) + (b2 x ··· x bn x j1 + b3 x ··· x bn x j2 ...
- EF-CodeFirst 继承关系TPH、TPT、TPC
继承关系 面向对象的三大特征之一:继承 ,在开发中起到了重要的作用.我们的实体本身也是类,继承自然是没有问题.下面开始分析 EF里的继承映射关系TPH.TPT.TPC 现在我们有这样一个需求,用户里要 ...
- Scala implicit
Scala implicit implicit基本含义 在Scala中有一个关键字是implicit, 之前一直不知道这个货是干什么的,今天整理了一下. 我们先来看一个例子: def display( ...
- python中isort的使用
是一个使import 列表更美观的工具包,官方例子如下: before from my_lib import Object print("Hey") import os from ...
- Alpha版本十天冲刺--Day4
站立式会议 会议总结 队员 今天完成 遇到的问题 明天要做 感想 鲍亮 解决线程信息传递问题(使用函数回调),Android登录验证接口完善 无 json解析,忘记密码界面验证码获取接口,忘记密码请求 ...
- Linux安装配置sun-java
一(不推荐) 1. 下载源码与解压 将下载的源码包,移动到/opt目录下: $ sudo mv ~/Downloads/jdk-8u65-linux-x64.tar.gz /opt/ 解压: $ s ...
- springMVC的注解@RequestParam与@PathVariable的区别
1.在SpringMVC后台控制层获取参数的方式主要有两种, 一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取. ...
- Win7系统开放C盘下文件夹Everyone权限
安装软件时遇到这样的情况:我就是管理员权限啊,怎么会安装有问题呢? 后来知道,用户名即使分配了你是管理员权限,有些文件还是有限制的(特别是C盘) 昨天遇到一个问题,有个文件夹里的隐藏文件就是无法显示, ...
- nginx访问日志获取访问前10的url
在ELK里面获取top10的url在日志量非常大的情况下是非常消耗内存的,所以写了一个脚本用来快速获取. 配置文件 log.conf [log] log_file = /data/logs/nginx ...