fontsmall.java

来自「j2me 连连看源代码」· Java 代码 · 共 71 行

JAVA
71
字号

import javax.microedition.lcdui.*;

public class FontSmall  {
	//  Defines  //
	//  10 = Digit 0-9         //
	private static final int TOTAL_CHAR = 10;
	private static final int DigitWidth[] = {5, 5, 5, 5, 5, 5, 5, 5, 5, 5};  
	private static final int DigitLength[] = {0,5,10,15,20,25,30,35,40,45};
	private static final int DigitHeight = 7;
	private static final int FONT = 53;
	private static Image m_pFont;
	private static int m_iOffset[];
	private static MainGame main_game;	
	//=======================//
	//  Prepare font images  //
	//=======================//
	static {
		int i, iOffset;
		m_pFont = main_game.loadImage(FONT);
		iOffset = 0;
		m_iOffset = new int[TOTAL_CHAR];
		for (i=0; i<TOTAL_CHAR; i++)  {
			m_iOffset[i] = iOffset;
			iOffset -= DigitWidth[i];
		}
	}
	
	public FontSmall(MainGame _maingame) {
		main_game = _maingame;
	}
	
	//===============//
	//  Draw string  //
	//===============//
	public static void DrawString(Graphics gGraphics,
			int iX, int iY,
			String sString)  {
		int i, iLength, iID;
		int iCurrentX, iCurrentY;
		
		//  If string is not available or empty then exit  //
		if (sString == null || sString.equals(""))  return;
		
		iCurrentX = iX;
		iCurrentY = iY;
		iLength = sString.length();
		for (i=0; i<iLength; i++)  {
			//  48 = ASCII '0'  //
			iID = sString.charAt(i)-48;
			//System.out.println(""+iID);
			gGraphics.setClip(iCurrentX,iCurrentY,DigitWidth[i],DigitHeight);
			if (iID >= 0 && iID < TOTAL_CHAR)  {
				if (iID != 43) {
					gGraphics.drawImage(m_pFont, iCurrentX - DigitLength[iID], iCurrentY,
							(Graphics.LEFT | Graphics.TOP)); 
				}
				iCurrentX += DigitWidth[iID]+1;
			}
			
			//  Enter character '/'  //
			if (iID == -1)  {
				iCurrentY += 6;
				iCurrentX = iX;
			}
		}
	}
}


⌨️ 快捷键说明

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