Android Open Source - tetris-android B T M P Font From Project Back to project page tetris-android .
License The source code is released under:
MIT License
If you think the Android project tetris-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.badlogic.androidgames.framework.gl;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/ / f r o m w w w . j a v a 2 s . c o m
import com.badlogic.androidgames.framework.FileIO;
import com.badlogic.androidgames.framework.impl.*;
public class BTMPFont {
BufferedReader in;
public final TextureRegion[] glyphs = new TextureRegion[96];
public BTMPFont(GLGame game,String cfg,Texture texture){
FileIO fileIO = game.getFileIO();
String str;
Matcher matcher = null;
try {
in = new BufferedReader(new InputStreamReader(fileIO.readAsset(cfg)));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
StringBuilder b = new StringBuilder();
Pattern pattern = Pattern.compile("y=" );
Pattern patternX = Pattern.compile("x=" );
Pattern patternY = Pattern.compile("y=" );
Pattern patternWidth = Pattern.compile("width=" );
Pattern patternHeight = Pattern.compile("height=" );
while (true){
try {
b.append(in.readLine());
matcher = pattern.matcher(b);
} catch (IOException e) {
// TODO Auto-generated catch block
}
if (matcher.find()){
break ;
}
b.delete(0, b.length()-1);
}
for (int i = 0; i <= 94;i++){
matcher = patternX.matcher(b.toString());
matcher.find();
str = b.substring(matcher.end(), matcher.end()+3);
str = str.replaceAll("\\s" , "" );
float x = Integer.parseInt(str);
matcher = patternY.matcher(b.toString());
matcher.find();
str = b.substring(matcher.end(), matcher.end()+3);
str = str.replaceAll("\\s" , "" );
float y = Integer.parseInt(str);
matcher = patternWidth.matcher(b.toString());
matcher.find();
str = b.substring(matcher.end(), matcher.end()+3);
str = str.replaceAll("\\s" , "" );
float width = Integer.parseInt(str);
matcher = patternHeight.matcher(b.toString());
matcher.find();
str = b.substring(matcher.end(), matcher.end()+3);
str = str.replaceAll("\\s" , "" );
float height = Integer.parseInt(str);
b.delete(0, b.length()-1);
try {
b.append(in.readLine());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
glyphs[i] = new TextureRegion(texture,x,y,width,height);
}
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void drawText(SpriteBatcher batcher, String text, float x, float y,float size) {
int len = text.length();
for (int i = 0; i < len; i++) {
int c = text.charAt(i) - ' ' ;
if (c < 0 || c > glyphs.length - 1)
continue ;
TextureRegion glyph = glyphs[c];
batcher.drawSprite(x, y,glyph.width*size, glyph.height*size,glyph,1,1,0,1);
x +=glyphs[c].width*size;
}
}
}
Java Source Code List com.badlogic.androidgames.framework.Audio.java com.badlogic.androidgames.framework.Color.java com.badlogic.androidgames.framework.DynamicGameObject.java com.badlogic.androidgames.framework.FileIOInternal.java com.badlogic.androidgames.framework.FileIO.java com.badlogic.androidgames.framework.GameObject.java com.badlogic.androidgames.framework.Game.java com.badlogic.androidgames.framework.Graphics.java com.badlogic.androidgames.framework.Input.java com.badlogic.androidgames.framework.Music.java com.badlogic.androidgames.framework.Pixmap.java com.badlogic.androidgames.framework.Pool.java com.badlogic.androidgames.framework.Screen.java com.badlogic.androidgames.framework.Sound.java com.badlogic.androidgames.framework.TestScreen.java com.badlogic.androidgames.framework.gl.Animation.java com.badlogic.androidgames.framework.gl.BTMPFont.java com.badlogic.androidgames.framework.gl.Camera2D.java com.badlogic.androidgames.framework.gl.Font.java com.badlogic.androidgames.framework.gl.SpatialHashGrid.java com.badlogic.androidgames.framework.gl.SpriteBatcher.java com.badlogic.androidgames.framework.gl.TextureRegion.java com.badlogic.androidgames.framework.gl.Texture.java com.badlogic.androidgames.framework.gl.Vertices.java com.badlogic.androidgames.framework.helper.DebugDraw.java com.badlogic.androidgames.framework.helper.FPSCounter.java com.badlogic.androidgames.framework.helper.Logger.java com.badlogic.androidgames.framework.impl.AccelerometerHandler.java com.badlogic.androidgames.framework.impl.AndroidAudio.java com.badlogic.androidgames.framework.impl.AndroidFastRenderView.java com.badlogic.androidgames.framework.impl.AndroidFileIOInternal.java com.badlogic.androidgames.framework.impl.AndroidFileIO.java com.badlogic.androidgames.framework.impl.AndroidGame.java com.badlogic.androidgames.framework.impl.AndroidGraphics.java com.badlogic.androidgames.framework.impl.AndroidInput.java com.badlogic.androidgames.framework.impl.AndroidMusic.java com.badlogic.androidgames.framework.impl.AndroidPixmap.java com.badlogic.androidgames.framework.impl.AndroidSound.java com.badlogic.androidgames.framework.impl.GLGame.java com.badlogic.androidgames.framework.impl.GLGraphics.java com.badlogic.androidgames.framework.impl.GLScreen.java com.badlogic.androidgames.framework.impl.KeyboardHandler.java com.badlogic.androidgames.framework.impl.MultiTouchHandler.java com.badlogic.androidgames.framework.impl.SingleTouchHandler.java com.badlogic.androidgames.framework.impl.TouchHandler.java com.badlogic.androidgames.framework.math.Circle.java com.badlogic.androidgames.framework.math.OverlapTester.java com.badlogic.androidgames.framework.math.Rectangle.java com.badlogic.androidgames.framework.math.Vector2.java com.ultimate39.android.games.tetris.Assets.java com.ultimate39.android.games.tetris.FactoryShape.java com.ultimate39.android.games.tetris.GameScreen.java com.ultimate39.android.games.tetris.MainMenuScreen.java com.ultimate39.android.games.tetris.Settings.java com.ultimate39.android.games.tetris.Shape.java com.ultimate39.android.games.tetris.Square.java com.ultimate39.android.games.tetris.Tetris.java com.ultimate39.android.games.tetris.World.java