资源简介
飞翔的小鸟java版源码,请使用eclipse导入运行!-----
代码片段和文件信息
package com.tarena.bird;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.swing.Jframe;
import javax.swing.JPanel;
public class BirdGame extends JPanel {
Bird bird;
Column column1 column2;
Ground ground;
BufferedImage background;
/** 游戏结束状态 */
boolean gameOver;
BufferedImage gameOverImage;
/** 游戏开始状态 */
boolean started;
BufferedImage startImage;
//分数
int score;
Sound hitSound;
Sound flappySound;
Sound scoreSound;
Sound startSound;
/** 初始化 BirdGame 的属性变量 */
public BirdGame() throws Exception {
started = false;
startImage = ImageIO.read(
getClass().getResource(“start.png“));
gameOver = false;
gameOverImage = ImageIO.read(
getClass().getResource(
“gameover.png“));
score = 0;
bird = new Bird();
column1 = new Column(1);
column2 = new Column(2);
ground = new Ground();
background = ImageIO.read(
getClass().getResource(“bg.png“));
hitSound = new Sound(“hit.wav“);
flappySound = new Sound(“flappy.wav“);
scoreSound = new Sound(“score.wav“);
startSound = new Sound(“start.wav“);
}
/** “重写(修改)“paint方法实现绘制 */
public void paint(Graphics g){
g.drawImage(background 0 0 null);
g.drawImage(column1.image
column1.x-column1.width/2
column1.y-column1.height/2 null);
g.drawImage(column2.image
column2.x-column2.width/2
column2.y-column2.height/2 null);
//在paint方法中添加绘制分数的算法
Font f = new Font(Font.SANS_SERIF
Font.BOLD 40);
g.setFont(f);
g.drawString(““+score 40 60);
g.setColor(Color.WHITE);
g.drawString(““+score 40-3 60-3);
g.drawImage(ground.image ground.x
ground.y null);
//旋转(rotate)绘图坐标系,是API方法
Graphics2D g2 = (Graphics2D)g;
g2.rotate(-bird.alpha bird.x bird.y);
g.drawImage(bird.image
bird.x-bird.width/2
bird.y-bird.height/2 null);
g2.rotate(bird.alpha bird.x bird.y);
//在paint方法中添加显示游戏结束状态代码
if(gameOver){
g.drawImage(gameOverImage00null);
}
if(! started){
g.drawImage(startImage 0 0 null);
}
//添加调试的方框
// g.drawRect(bird.x-bird.size/2
// bird.y-bird.size/2
// bird.size bird.size);
// g.drawRect(column1.x-column1.width/2
// column1.y-column1.height/2
// column1.width
// column1.height/2-column1.gap/2);
// g.drawRect(column1.x-column1.width/2
// column1.y+column1.gap/2
// column1.width
// column1.height/2-column1.gap/2);
}//paint方法的结束
//BirdGame中添加方法action()
public void action() throws Exception {
MouseListener l=new MouseAdapter(){
//Mouse 老鼠 Pressed按下
public void mousePressed(
MouseEvent e){
try{
if(gameOver){
synchronized(BirdGame.this){
相关资源
- jsp《计算机组成原理》精品课程建设
- java语言实现google的机器翻译模型
- java课程设计餐饮管理系统
- java 矩阵学习包 jama-1.0.3.jar
- java英汉互译电子词典完整版含数据库
- jsp增删改查用javaBean实现
- JSP+Servlet+JavaBean__数据库登录验证
- Java串口通信
- java数独小游戏
- java解析userAgent中的所有信息
- java计算器源代码及其实验报告
- java基础笔试题加答案
- html转为图片,java后端
- 简单的超市管理系统Java实现
- Rxjava.txt
- Java实现的串口调试程序带GUI界面
- Java获取全国所有省市列表
- Java 串口rxtxdemo包含发送、接收、以及
- java银联多渠道ISO8583
- Java继承与多态 Employee简单员工信息录
- java-json.jar.zip
- Elasticsearch Java API 手册
- 简单记事本java版
- java论坛管理系统设计 源码和论文
- Java web 课程设计超市购物系统
- JDK8u201全版本包含jre
- java实现的计算器界面程序
- JAVA简单记事本程序设计实验报告(带
- 自己设计的贪吃蛇游戏
- 动物换位游戏
评论
共有 条评论