1 package org.crazyit.ball;
  2 
  3 import java.awt.Image;
  4 import java.io.File;
  5 import javax.imageio.ImageIO;
  6 import java.io.IOException;
  7 
  8 /**
  9  * 小球对象
 10  * 
 11  * @author yangenxiong yangenxiong2009@gmail.com
 12  * @author Kelvin Mak kelvin.mak125@gmail.com
 13  * @version  1.0
 14  * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
 15  * <br>Copyright (C), 2009-2010, yangenxiong
 16  * <br>This program is protected by copyright laws.
 17  */
 18 public class Ball extends BallComponent {
 19     // 定义球的竖向速度
 20     private int speedY = 10;
 21     // 定义弹球的横向速度
 22     private int speedX = 8;
 23     // 定义是否在运动
 24     private boolean started = false;
 25     // 定义是否结束运动
 26     private boolean stop = false;
 27 
 28     /**
 29      * m 有参数构造器
 30      * 
 31      * @param panelWidth
 32      *            int 画板宽度
 33      * @param panelHeight
 34      *            int 画板高度
 35      * @param offset
 36      *            int 位移
 37      * @param path
 38      *            String 图片路径
 39      */
 40     public Ball(int panelWidth, int panelHeight, int offset, String path)
 41             throws IOException {
 42         // 调用父构造器
 43         super(panelWidth, panelHeight, path);
 44         // 设置y坐标
 45         this.setY(panelHeight - super.getImage().getHeight(null) - offset);
 46     }
 47 
 48     /**
 49      * 设置横向速度
 50      * 
 51      * @param speed
 52      *            int 速度
 53      * @return void
 54      */
 55     public void setSpeedX(int speed) {
 56         this.speedX = speed;
 57     }
 58 
 59     /**
 60      * 设置竖向速度
 61      * 
 62      * @param speed
 63      *            int 速度
 64      * @return void
 65      */
 66     public void setSpeedY(int speed) {
 67         this.speedY = speed;
 68     }
 69 
 70     /**
 71      * 设置是否在运动
 72      * 
 73      * @param b
 74      *            boolean
 75      * @return void
 76      */
 77     public void setStarted(boolean b) {
 78         this.started = b;
 79     }
 80 
 81     /**
 82      * 设置是否结束运动
 83      * 
 84      * @param b
 85      *            boolean
 86      * @return void
 87      */
 88     public void setStop(boolean b) {
 89         this.stop = b;
 90     }
 91 
 92     /**
 93      * 返回横向速度
 94      * 
 95      * @return int 速度
 96      */
 97     public int getSpeedX() {
 98         return this.speedX;
 99     }
100 
101     /**
102      * 返回竖向速度
103      * 
104      * @return int 速度
105      */
106     public int getSpeedY() {
107         return this.speedY;
108     }
109 
110     /**
111      * 是否在运动
112      * 
113      * @return boolean 是否在运动
114      */
115     public boolean isStarted() {
116         return this.started;
117     }
118 
119     /**
120      * 是否已经结束运动
121      * 
122      * @return boolean 是否已经结束运动
123      */
124     public boolean isStop() {
125         return this.stop;
126     }
127 
128 }
Ball

相关文章: