I hope will be possible to help. I tried to edit a bit your code, fix some bugs and implement your idea.
const OXYGEN_DELAY:uint = 100;
//creating a simple index control
var oxygenControl:uint = 0;
//Vector instead Array
var oPercent:Vector.<String> = new <String>['100', '90', '80', '70', '60', '50', '40', '30', '20', '10', '0'];
var oPercentLength:uint = oPercent.length - 1;
//Timer Class has a mandatory parameter 'delay:Number'
var oTimer:Timer = new Timer(OXYGEN_DELAY);
var txtFld:TextField = new TextField();
addChild(txtFld);
txtFld.text = "Oxygen: " + oPercent[oxygenControl];
oTimer.addEventListener(TimerEvent.TIMER, O2TimerHandler, false, 0, true);
stage.addEventListener(Event.ENTER_FRAME, outerSpaceHandler, false, 0, true);
function O2TimerHandler(event:TimerEvent):void
{
txtFld.text = (oxygenControl < oPercentLength) ? 'Oxygen: ' + oPercent[++oxygenControl] : gameOver();
}
function gameOver():String
{
//clean up and so on...
oTimer.removeEventListener(TimerEvent.TIMER, O2TimerHandler);
stage.removeEventListener(Event.ENTER_FRAME, outerSpaceHandler);
return ':(';
}
function outerSpaceHandler(event:Event):void
{
(char.hitTestObject(space)) ? oTimer.start() : oTimer.stop();
}