This text function was working fine for awhile but randomly stopped working.
I have a dynamic textbox named Score.
then
function updateScore():void
{
Score.text = "Score: " + String(planesKilled);
trace(Score.text );
}
The trace returns: Score: 1 whenever its called. But nothing is every outputted onto the screen. If i give the text box a value it does show up so its not behind any backgrounds or anything. Any ideas?
Here is my entire main if needed
package
{
import flash.display.*;
import flash.events.*;
import flash.ui.Keyboard;
import flash.utils.Timer;
import flash.text.TextField;
public class Main extends MovieClip
{
public var leftArrow, rightArrow:Boolean;
private var theGun:BigGun;
private var planeTimer:Timer;
private var airplanes:Array;
private var bullets:Array;
var planesKilled = 0;
var theBackGround:BackGround;
static var maxHP = 100;
static var currentHP = maxHP;
static var percentHP = currentHP / maxHP;
static var gameOver = 0;
public function Main()
{
airplanes = new Array();
bullets = new Array();
theBackGround = new BackGround();
theGun = new BigGun();
theGun.x = 275;
theGun.y = 340;
addChild(theGun);
addChild(theBackGround);
// Send to back
setChildIndex(theBackGround,0);
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressDown);
stage.addEventListener(KeyboardEvent.KEY_UP,keyPressUp);
addEventListener(Event.ENTER_FRAME,checkItHit);
updateScore();
setPlaneTimer();
}
private function keyPressDown( k : KeyboardEvent):void
{
if(k.keyCode == Keyboard.LEFT)
{
leftArrow = true;
}
else if(k.keyCode == Keyboard.RIGHT)
{
rightArrow = true;
}
if(k.keyCode == Keyboard.SPACE)
{
fireBullet();
}
}
private function fireBullet():void
{
var b:Bullet = new Bullet(theGun.x, theGun.y);
addChild(b);
bullets.push(b);
}
private function keyPressUp( k : KeyboardEvent):void
{
if(k.keyCode == Keyboard.LEFT)
{
leftArrow =false;
}
else if(k.keyCode == Keyboard.RIGHT)
{
rightArrow = false;
}
}
private function setPlaneTimer():void
{
planeTimer = new Timer( 1000 + Math.random() * 1000, 1);
planeTimer.addEventListener (TimerEvent.TIMER_COMPLETE, newPlane)
planeTimer.start();
}
private function newPlane( alarm : TimerEvent): void
{
var altitude:Number = Math.random() * 50 + 25;
var type:uint = Math.ceil( Math.random() * 3);
var thePlane:Plane = new Plane(altitude,type);
addChild(thePlane);
airplanes.push(thePlane);
setPlaneTimer();
}
public function deletePlane(thePlane:Plane):void
{
for(var i in airplanes)
{
if(airplanes* == thePlane)
{
airplanes.splice(i,1);
break;
}
}
}
public function deleteBullet(theBullet:Bullet):void
{
for(var i in bullets)
{
if(bullets* == theBullet)
{
bullets.splice(i,1);
break;
}
}
}
private function checkItHit( e:Event):void
{
updateHealth();
for(var bulletNum: int = bullets.length - 1; bulletNum >= 0; bulletNum--)
{
for(var planeNum: int = airplanes.length - 1; planeNum >= 0; planeNum--)
{
if(bullets[bulletNum].hitTestObject ( airplanes[planeNum]))
{
// So it doesnt count hitting explosions.
if(airplanes[planeNum].currentFrame != 4)
{
airplanes[planeNum].removePlane();
bullets[bulletNum].removeBullet();
planesKilled++;
updateScore();
if(planesKilled >= 5)
{
GameOver();
}
}
break;
}
}
}
}
public function GameOver()
{
if(currentHP <= 0)
{
var thegameOverScreen:gameOverScreen;
thegameOverScreen = new gameOverScreen();
thegameOverScreen.x = 280;
thegameOverScreen.y = 200;
addChild(thegameOverScreen);
}
else
{
var theyouWin:youWin;
theyouWin = new youWin();
theyouWin.x = 280;
theyouWin.y = 200;
addChild(theyouWin);
}
gameOver = 1;
removeChild(theGun);
removeChild(theBackGround);
removeChild(Health);
removeChild(Score);
planeTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, newPlane);
stage.removeEventListener(KeyboardEvent.KEY_DOWN,keyPressDown);
stage.removeEventListener(KeyboardEvent.KEY_DOWN,keyPressUp);
removeEventListener(Event.ENTER_FRAME,checkItHit);
for(var i in airplanes)
{
airplanes*.removePlaneOffScreen();
}
// Wasnt erasing this plane for some reason.
airplanes[0].removePlaneOffScreen();
for(var a in bullets)
{
bullets[a].removeBullet();
}
}
function updateScore():void
{
Score.text = "Score: " + String(planesKilled);
trace(Score.text );
}
function updateHealth():void
{
percentHP = currentHP / maxHP;
Health.BarColor.scaleX = percentHP;
if(currentHP <= 0)
{
GameOver();
}
}
}
}
Thanks for any help given.