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

📄 ball.java

📁 是sun公司做的开源项目
💻 JAVA
字号:
package org.bubblebreaker.model;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class Ball
{
	//Balls that will be used in the game 
	public final static Ball GREENBALL =new Ball(Color.GREEN);
	public final static Ball YELLOWBALL =new Ball(Color.YELLOW);
	public final static Ball CYANBALL =new Ball(Color.CYAN);
	public final static Ball REDBALL =new Ball(Color.RED);
	public final static Ball PURPLEBALL = new Ball(Color.PURPLE);
	public final static Ball BLACKBALL = new Ball(Color.BLACK);
	public final static Ball WHITEBALL = new Ball(Color.WHITE);
	public final static Ball FUNNYBALL = new Ball(Color.WHITE);

	public final static Ball balls[]=
	{
		GREENBALL,
		YELLOWBALL,
		CYANBALL,
		REDBALL,
		PURPLEBALL
	};

	//types of balls
	public final static int DRAW2D=0;
	public final static int IMAGE=1;
	public final static int IMAGE_GLASS=2;

	//This balls color and/or image
	Color color;
	Image image;

	private Ball(Color color)
	{
		this.color=color;
	}

	public int getDiameter()
	{
		/*if(image!=null)
			return image.getWidth();
		return -1;*/
		return 17;
	}

	public void createImage(String fname)
	{
		if(null == fname){
			image=null;
			return;
		}
		try
		{
			image=Image.createImage(fname);
		}catch(Exception e){
			try
			{
				image=Image.createImage("/"+fname);
			}catch(Exception e1){
			}
		}
	}
	public void draw(Graphics g, int row, int col)
	{
		draw(g,row,col,getDiameter(),getDiameter());
	}

	public void draw(Graphics g, int row, int col, int rowHeight, int colWidth )
	{
		if(null == image)
		{
			int diameter=colWidth-2;
			g.setColor(color.getCode());
			g.fillArc(col*colWidth, row*rowHeight, diameter, diameter,0,360);
			if(Color.WHITE != color)
			{
				g.setColor(Color.BLACK.getCode());
			}
			g.drawArc(col*colWidth, row*rowHeight, diameter, diameter,0,360);
		}else{
			g.drawImage(image, col*colWidth + colWidth/2, row*rowHeight + rowHeight/2, Graphics.HCENTER|Graphics.VCENTER); 
		}
	}


	public static int createBalls(int type)
	{
		switch(type)
		{
			case IMAGE_GLASS:
				GREENBALL.createImage("green-glass.jpg");
				YELLOWBALL.createImage("yellow-glass.jpg");
				CYANBALL.createImage("cyan-glass.jpg");
				REDBALL.createImage("red-glass.jpg");
				PURPLEBALL.createImage("purple-glass.jpg");
				break;
			case IMAGE:
				GREENBALL.createImage("green.jpg");
				YELLOWBALL.createImage("yellow.jpg");
				CYANBALL.createImage("cyan.jpg");
				REDBALL.createImage("red.jpg");
				PURPLEBALL.createImage("purple.jpg");
				WHITEBALL.createImage("white.jpg");
				break;
			case DRAW2D:
				GREENBALL.createImage(null);
				YELLOWBALL.createImage(null);
				CYANBALL.createImage(null);
				REDBALL.createImage(null);
				PURPLEBALL.createImage(null);
				break;
		}
		FUNNYBALL.createImage("funny.PNG");
		return balls.length;// num of balls to use
	}
}

⌨️ 快捷键说明

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