【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 ...
随机推荐
- Leetcode 221. Maximal Square
本题用brute force超时.可以用DP,也可以不用. dp[i][j] 代表 以(i,j)为右下角正方形的边长. class Solution(object): def maximalSquar ...
- 【BZOJ-1179】Atm Tarjan + SPFA
1179: [Apio2009]Atm Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 2407 Solved: 993[Submit][Status ...
- AutoIt3(AU3)开发的分辨率快速设置工具
项目相关地址 源码:https://github.com/easonjim/Resolution_Settings bug提交:https://github.com/easonjim/Resoluti ...
- List多对多的查询应用
/** * @param param * @author mercy 查询主副产品(主副产品是多对多的关系) * @return */ public String queryProductSpecAt ...
- HDU 2795 Billboard(线段树)
题目链接: 传送门 Billboard Time Limit: 2000MS Memory Limit: 32768 K Description At the entrance to the ...
- iOS - CAEmitterLayer流星
效果图: 流星: #pragma mark - loading animation - (void)showLoadingAnimation { CGRect mainBounds = [[UIScr ...
- POJ2239 Selecting Courses(二分图最大匹配)
题目链接 N节课,每节课在一个星期中的某一节,求最多能选几节课 好吧,想了半天没想出来,最后看了题解是二分图最大匹配,好弱 建图: 每节课 与 时间有一条边 #include <iostream ...
- log4net 记录到数据库和本地文件
1)配置代码 <?xml version="1.0" encoding="utf-8" ?> <configuration> <c ...
- easyUI增加视图分组的办法
1.在JSP头文件中引入如下代码 <script type="text/javascript" src="${pageContext.request.context ...
- 10月23日上午PHP数组
正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...