知识点


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

  • 添加鼠标事件监听器到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基础-飞机游戏知识点的更多相关文章

  1. 一款基础模型的JS打飞机游戏特效代码

    <!DOCTYPE html> <html lang="en"> <head> <title>一款基础模型的JS打飞机游戏特效代码& ...

  2. pygame开发PC端微信打飞机游戏

    pygame开发PC端微信打飞机游戏 一.项目简介 1. 介绍 本项目类似曾经火爆的微信打飞机游戏.游戏将使用Python语言开发,主要用到pygame的API.游戏最终将会以python源文件gam ...

  3. Pygame制作微信打飞机游戏PC版

    使用Pygame制作微信打飞机游戏PC版 转至:http://www.cnblogs.com/dukeleo/p/3339780.html   前一阵子看了一篇文章:青少年如何使用Python开始游戏 ...

  4. python 之路,200行Python代码写了个打飞机游戏!

    早就知道pygame模块,就是没怎么深入研究过,恰逢这周未没约到妹子,只能自己在家玩自己啦,一时兴起,花了几个小时写了个打飞机程序. 很有意思,跟大家分享下. 先看一下项目结构 "" ...

  5. Unreal Engine 4 系列教程 Part 10:制作简单FPS游戏

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  6. 实例源码--IOS高仿微信打飞机游戏(完整功能)

    下载源码 技术要点: 1. IOS游戏开发基础框架 2. 高仿打飞机游戏 3. 游戏背景音频技术 4.源码详细的中文注释 ……. 详细介绍: 1. IOS游戏开发基础框架 此套源码为涉及IOS游戏开发 ...

  7. <Win32_20>纯c语言版的打飞机游戏出炉了^_^

    经过昨天的苦战,终于完成了纯C版的打飞机游戏——使用微信打飞机游戏的素材,不过玩法有些不同,下面会有详述 一.概述游戏的玩法.实现效果 1. 游戏第一步,简单判断一下,给你一个准备的时间: 2.选择& ...

  8. 用canvas整个打飞机游戏

    声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 之前在当耐特的DEMO里看到个打飞机的游戏,然后就把他的图片和音频扒了了下来....自己凭着玩的心情重新写了一个.仅供娱乐哈......我 ...

  9. Ext OOP基础

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. watch监听 chechbox 全选

    // 监控全选checkbox的状态 $scope.$watch('AllCheck', function (newValue, oldValue) { // 第一次不执行 if (newValue ...

  2. Unity 移动端触摸屏操作

    Unity 触屏操作 当将Unity游戏运行到IOS或Android设备上时,桌面系统的鼠标左键可以自动变为手机屏幕上的触屏操作,但如多点触屏等操作却是无法利用鼠标操作进行的.Unity的Input类 ...

  3. SQL查询记录是否在另一个表中存在

    1.需求 create table ta(id int);create table tb(id int);insert into ta values(1);insert into ta values( ...

  4. 编译hadoop-2.5.2总结

    原文:http://www.cnblogs.com/qigang/p/4194728.html 一.准备的资料 64位linux系统.我使用的是 CentOS JDK 1.7+.注:使用1.7即可,如 ...

  5. js-JavaScript高级程序设计学习笔记11

    依然第十四章 1.选择部分文本:使用setSelectionRange()方法,两个参数为第一个字符的索引和最后一个字符之后的索引,类似于substring()方法. 2.IE8及更早版本使用范围选择 ...

  6. Windows下Nginx+Mysql+Php(wnmp)环境搭建

    前言 最近想在windows下使用nginx搭建web环境,本来想用套件(WNMP)一键安装,但后来放弃了,觉得还是自己动手,丰衣足食的好,而且套件的局限性太大.所以后来就各种搜索,看到前辈写关于wn ...

  7. Bzoj2007 [Noi2010]海拔

    Time Limit: 20 Sec  Memory Limit: 552 MB Submit: 2380  Solved: 1130 Description YT市是一个规划良好的城市,城市被东西向 ...

  8. ECMall /app/buyer_groupbuy.app.php SQL Injection Vul

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Relevant Link: 2. 漏洞触发条件 0x1: POC ht ...

  9. Objective-C 再谈OC指针,对比C++/Java/Swift

    1.Objective-C的指针 OC一直是人感觉比较变态的一门语言,为什么呢?因为它的每个变量都是指针型,多的都几乎让人忘了那个*的存在了. 比如我定义了一个Student的Class,new了st ...

  10. 对oracle数据库进行增删改更新操作,executeUpdate()执行卡住了

    原因是:oracle数据库更新数据后需要commit,不然会堵塞,就会卡住 那么每次调用executeUpdate()完后,数据库要自动commit才可以. 我的基类加了一下,注意红色字体部分代码: ...