Font Embedding
I have a program and use there dynamic text. For this text i use special font CAMPFIRE.ttf.
A lot of users dont have this font on their pc but i want then they open my .swf and see this font.
For this i use next code:
var fooFont:foo = new foo();
var format:TextFormat = new TextFormat();
format.font=fooFont.fontName;
format.color=0xFF0000;
format.size = 100;
levelNumbers.height += 100;
levelNumbers.embedFonts=true;
levelNumbers.autoSize = TextFieldAutoSize.CENTER;
levelNumbers.antiAliasType=AntiAliasType.ADVANCED;
levelNumbers.defaultTextFormat=format;
but i dont see my dynamic text correct. I see strange space on top, also dont see bottom part of text.
pic preview:

Can anybody help please or offer any other way how to do main idea what i need?
All code here:
package {
import flash.events.*;
import flash.display.*;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
import flash.text.AntiAliasType;
public class GuessNumber extends MovieClip
{
var guessNumber:Number;
var points:Number = 0;
var level:Number = 1;
var lastGuessNumber:Number = 5;
//constructor
public function GuessNumber()
{
beginScreen();
}
public function beginScreen():void
{
gotoAndStop('beginScreen');
playBtn.addEventListener(MouseEvent.CLICK, startGame);
howToPlay_mc.visible = false;
moreGames_mc.visible = false;
thanks_mc.visible = false;
howToPlayBtn.addEventListener(MouseEvent.CLICK, howToPlayScreen);
moreGamesBtn.addEventListener(MouseEvent.CLICK, moreGamesScreen);
thanksBtn.addEventListener(MouseEvent.CLICK, thanksScreen);
}
public function startGame(event:MouseEvent):void
{
generateNumber();
}
public function generateNumber(e:Event = null):void
{
gotoAndStop('gameScreen');
trace("****** Welcome Screen *********");
pointsView.text = "0";
levelView.text = "1";
addEventListener(Event.ADDED_TO_STAGE, startGuess);
startGuess();
}
public function howToPlayScreen(event:MouseEvent):void
{
trace("Open 'How to play screen'");
howToPlay_mc.closeBtn.addEventListener(MouseEvent.CLICK, closeHowToPlayScreen);
howToPlayBtn.mouseEnabled = false;
moreGamesBtn.mouseEnabled = false;
thanksBtn.mouseEnabled = false;
howToPlayBtn.alpha = 1;
moreGamesBtn.alpha = 0.5;
thanksBtn.alpha = 0.5;
howToPlay_mc.visible = true;
moreGames_mc.visible = false;
thanks_mc.visible = false;
}
public function moreGamesScreen(event:MouseEvent):void
{
trace("Open 'More games screen'");
moreGames_mc.closeBtn.addEventListener(MouseEvent.CLICK, closeMoreGamesScreen);
howToPlayBtn.mouseEnabled = false;
moreGamesBtn.mouseEnabled = false;
thanksBtn.mouseEnabled = false;
howToPlayBtn.alpha = 0.5;
moreGamesBtn.alpha = 1;
thanksBtn.alpha = 0.5;
howToPlay_mc.visible = false;
moreGames_mc.visible = true;
thanks_mc.visible = false;
}
public function thanksScreen(event:MouseEvent):void
{
trace("Open 'Thanks screen'");
thanks_mc.closeBtn.addEventListener(MouseEvent.CLICK, closeThanksScreen);
howToPlayBtn.mouseEnabled = false;
moreGamesBtn.mouseEnabled = false;
thanksBtn.mouseEnabled = false;
howToPlayBtn.alpha = 0.5;
moreGamesBtn.alpha = 0.5;
thanksBtn.alpha = 1;
howToPlay_mc.visible = false;
moreGames_mc.visible = false;
thanks_mc.visible = true;
}
public function closeHowToPlayScreen(event:MouseEvent):void
{
howToPlay_mc.visible = false;
trace("Close 'How to play screen'");
howToPlayBtn.mouseEnabled = true;
moreGamesBtn.mouseEnabled = true;
thanksBtn.mouseEnabled = true;
howToPlayBtn.alpha = 1;
moreGamesBtn.alpha = 1;
thanksBtn.alpha = 1;
}
public function closeMoreGamesScreen(event:MouseEvent):void
{
moreGames_mc.visible = false;
trace("Close 'More games screen'");
howToPlayBtn.mouseEnabled = true;
moreGamesBtn.mouseEnabled = true;
thanksBtn.mouseEnabled = true;
howToPlayBtn.alpha = 1;
moreGamesBtn.alpha = 1;
thanksBtn.alpha = 1;
}
public function closeThanksScreen(event:MouseEvent):void
{
thanks_mc.visible = false;
trace("Close 'How to play screen'");
howToPlayBtn.mouseEnabled = true;
moreGamesBtn.mouseEnabled = true;
thanksBtn.mouseEnabled = true;
howToPlayBtn.alpha = 1;
moreGamesBtn.alpha = 1;
thanksBtn.alpha = 1;
}
public function startGuess(e:Event = null):void
{
trace("**** Starting Guess ****");
guessBtn.enabled = true;
guessBtn.visible = true;
nextLevelBtn.enabled = false;
nextLevelBtn.visible = false;
var fooFont:foo = new foo();
var format:TextFormat = new TextFormat();
format.font=fooFont.fontName;
format.color=0xFF0000;
format.size = 100;
levelNumbers.height += 100;
levelNumbers.embedFonts=true;
levelNumbers.autoSize = TextFieldAutoSize.CENTER;
levelNumbers.antiAliasType=AntiAliasType.ADVANCED;
levelNumbers.defaultTextFormat=format;
levelNumbers.text = String(lastGuessNumber);
trace("Guessed number beetween 1 and " + lastGuessNumber);
yourGuessText.text = "";
levelView.text = String(level);
trace("Now Level: " + level);
pointsView.text = String(points);
trace("Player Points: " + points);
guessNumber=Math.ceil(Math.random()*lastGuessNumber);
trace("Guessed number: " + guessNumber);
removeEventListener(Event.ADDED_TO_STAGE,startGuess);
guessBtn.addEventListener(MouseEvent.CLICK,checkingYourGuess);
}
public function checkingYourGuess(e:MouseEvent):void
{
if (yourGuessText.length == 0)
{
trace("need enter something");
outputText.text="please enter a number beetween 1 and " + lastGuessNumber;
return;
}
if (guessNumber == Number(yourGuessText.text))
{
outputText.text = "You are GUESS!!!";
trace("Guess!");
points += 100;
trace("Player earn: " + points + " points!");
trace("+++++++++++++++++++++++++");
trace("go to the next level?");
nextLevelBtn.visible = true;
guessBtn.visible = false;
winGame();
}
else if (guessNumber > Number(yourGuessText.text))
{
points -= 20;
pointsView.text = String(points);
trace("-20 points, need MORE");
outputText.text = "need MORE, try again please";
}
else if (guessNumber < Number(yourGuessText.text) && (Number(yourGuessText.text)<= lastGuessNumber))
{
points -= 20;
pointsView.text = String(points);
trace("-20 points, need LESS");
outputText.text = "need LESS, try again please";
}
else if (Number(yourGuessText.text) > lastGuessNumber)
{
outputText.text = "enter number from 1 to " + lastGuessNumber;
trace("enter number from 1 to " + lastGuessNumber);
}
}
public function winGame():void
{
pointsView.text = String(points);
level += 1;
if (level == 4)
{
youAreWinner();
trace("You are winner!!!!!");
pointsView.text = String(points);
trace("Player earn: " + points + " points." );
level = 1;
points = 0;
lastGuessNumber = 5;
}
else{lastGuessNumber += 10;}
nextLevelBtn.enabled=true;
guessBtn.enabled=false;
nextLevelBtn.addEventListener(MouseEvent.CLICK, playAgain);
}
public function playAgain(event:MouseEvent):void
{
trace("yes");
outputText.text = "";
startGuess();
}
public function youAreWinner():void
{
gotoAndStop('finishScreen');
nextLevelBtn.visible = false;
guessBtn.visible = false;
playAgainBtn.addEventListener(MouseEvent.CLICK, generateNumber);
}
}
}

