⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sprite.java

📁 几个不错的手机程序例子
💻 JAVA
字号:
/*
 * Sprite.java
 *
 * Copyright 2001 SkyArts. All Rights Reserved.
 */
import javax.microedition.lcdui.*;

/**
 * Sprite类(显示贴图零件)
 *
 * @author  Hideki Yonekawa
 * @version 1.0
 */
abstract class Sprite {
	/** 储存了X坐标的变量 */
	protected int				x;
	/** 储存了Y坐标的变量 */
	protected int				y;
	/** 储存横宽的变量 */
	protected int				width;
	/** 储存高度的变量 */
	protected int				height;

	/** 代表是否为Alive状态的标志变量 */
	protected boolean			isAlive				= true;
	/** 代表是否为Hit状态的标志变量 */
	protected boolean			isHit				= false;
	/** 储存了TicK计数的变量 */
	protected int				tickCount			= 0;

	/**
	 * 设定X坐标的方法
	 * @param	x 要设定的X坐标值
	 */
	void setX(int x) {
		this.x = x;
	}

	/**
	 * 传回X坐标的方法
	 * @return	int	被设定的X坐标值
	 */
	int getX() {
		return x;
	}

	/**
	 * 设定Y坐标的方法
	 * @param	y	要设定的y坐标值
	 */
	void setY(int y) {
		this.y = y;
	}

	/**
	 * 传回Y坐标值的方法
	 * @return	int	被设定的Y坐标值
	 */
	int getY() {
		return y;
	}

	/**
	 * 传回横宽的方法
	 * @return	int	横宽值
	 */
	int getWidth() {
		return width;
	}

	/**
	 * 传回高度的方法
	 * @return	int	高度值
	 */
	int getHeight() {
		return height;
	}

	/**
	 * 设定Alive状态的方法
	 * @param isAlive	Alive状态的话就是true、不是Alive状态就是false
	 */
	void setAlive(boolean isAlive) {
		this.isAlive = isAlive;
	}

	/**
	 * 传回Alive状态的方法
	 * @return boolean	Alive状态就是true、不是Alive状态就是false
	 */
	boolean isAlive() {
		return isAlive;
	}

	/**
	 * 设定Hit状态的方法
	 * @param isAlive	Hit状态就是true、不是Hit状态就是false
	 */
	void setHit(boolean isHit) {
		this.isHit = isHit;
		tickCount	 = 0;
	}

	/**
	 * 传回Hit状态的方法
	 * @return boolean	Hit状态就是true、不是Hit状态就是false
	 */
	boolean isHit() {
		return isHit;
	}

	/**
	 * 传回这个Sprite(this)是否有与其他Sprite重叠的方法
	 * @return boolean	有重叠的话就是true、没有重叠的话是false
	 */
	boolean isOverlaps(Sprite otherSprite) {
		if(	(otherSprite.getX() <= x && otherSprite.getX() + otherSprite.getWidth() >= x) ||	//右
			(otherSprite.getX() >= x && otherSprite.getX() <= x + width) ) {			//左
			if(	(otherSprite.getY() <= y && otherSprite.getY() + otherSprite.getHeight() >= y) ||//上 
				(otherSprite.getY() >= y && otherSprite.getY() <= y + height) ) {		//下
				return true;
			}
		}
		return false;
	}

	/** 要移动Sprite所调用的方法 */
	abstract void doMove();

	/** 要描绘Sprite所调用的方法 */
	abstract void doDraw(Graphics g);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -