Flash vars
Estou me aventurando em AS3 e tentando passar alguns códigos antigos para AS3.
Fiz essa classe de relógio regressivo onde são passados o tempo inicial e final por flash vars, as só dá erro ao compilar e no html não pega nada.
1119: Access of possibly undefined property root through a reference with static type Class.
package {
import flash.text.TextField;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.display.LoaderInfo;
public class Relogio {
var parametros:Object = LoaderInfo(this.root.loaderInfo).parameters;
var baseDir:String = parametros['baseDir'];
var dataI:String;
var dataF:String;
var array_dataI:Array;
var array_dataF:Array;
var dataInicial:Date;
var dataFinal:Date;
var tempo:Timer;
var contador:TextField;
public function Relogio(texto:TextField, arquivo:String = null):void {
contador = texto;
contador.text = "00:00:00";
if(!arquivo) {
dataI = parametros['dataI'];
dataF = parametros['dataF'];
array_dataI = dataI.split("-");
array_dataF = dataF.split("-");
dataInicial = new Date(array_dataI[0], array_dataI[1]-1, array_dataI[2], array_dataI[3], array_dataI[4], array_dataI[5]);
dataFinal = new Date(array_dataF[0], array_dataF[1]-1, array_dataF[2], array_dataF[3], array_dataF[4], array_dataF[5]);
} else {
contador.text = "a";
}
tempo = new Timer(1000);
tempo.start();
tempo.addEventListener(TimerEvent.TIMER, contaRelogio);
}
public function contaRelogio(e:TimerEvent):void {
var diff:Number = dataInicial.setTime(dataInicial.getTime() + 1000);
var goSeg:Number = Math.floor((dataFinal.getTime()-diff)/1000);
var seg:Number = goSeg%60;
var goMin:Number = Math.floor(goSeg/60);
var min:Number = goMin%60;
var goHoras:Number = Math.floor(goMin/60);
var horas:Number = goHoras;
var segString:String = (seg < 10) ? "0"+seg : ""+seg;
var minString:String = (min < 10) ? "0"+min : ""+min;
var horasString:String = (horas < 10) ? "0"+horas : ""+horas;
contador.text = ((dataFinal.getTime()-diff) <= 0) ? "00:00:00" : horasString+":"+minString+":"+segString;
contador.text = dataI;
}
}
}
mas se não usar a classe e fizer direto na timeline da certo.
var parametros:Object = LoaderInfo(this.root.loaderInfo).parameters;
var baseDir:String = parametros['baseDir'];
teste.text = baseDir;Discussão (5)
Carregando comentários...