Necesito traducir este código as2 a as3, he buscado ejemplos de calendarios AS3, pero no he encontrado alguno que sea similar, este utiliza Movie clips para desplegar el numero del día y así se puede personalizar bastante el diseño. Por su ayuda gracias…
Código ActionScript :
stop();
System.useCodepage = true;
raiz_url = "";
baselink = "";
datos = new Array();
meses = new Array("ENERO", "FEBRERO", "MARZO", "ABRIL", "MAYO", "JUNIO", "JULIO", "AGOSTO", "SEPTIEMBRE", "OCTUBRE", "NOVIEMBRE", "DICIEMBRE");
var hoy:Date = new Date();
var today:Date = new Date();
todayDay = today.getDate();
todayMonth = today.getMonth();
todayYear = today.getFullYear();
if (_level0.date != undefined) {
fechaU = _level0.date.split("-");
hoy.setMonth(fechaU[1]-1);
}
function clearDay() {
loader_mc._visible = true;
for (i=1; i<38; i++) {
if (i<10) {
indi = "0"+i;
} else {
indi = i;
}
this[indi]._alpha = 100;
this[indi]._visible = false;
}
}
clearDay();
function lastDayInMonth(year:Number, month:Number, date:Date):Number {
var nDate:Date = (!date) ? new Date(year, month, 31) : new Date(date.getFullYear(), date.getMonth(), 31);
return (nDate.getMonth() == month) ? 31 : 31-nDate.getDate();
}
function firstDayInWeek(anio, mes) {
var diaUno:Date = new Date(anio, mes, 1);
return diaUno.getDay();
}
function draw_calendar(array_data) {
//vinculos_txt.htmlText="";
for (i=1; i<38; i++) {
if (i<10) {
ind = "0"+i;
} else {
ind = i;
}
if (i<primerDiaSemana || i-primerDiaSemana+1>diasMes) {
this[ind]._visible = false;
} else {
this[ind].activo_mc._visible = false;
this[ind].texto_links_dia = "";
this[ind]._visible = true;
this[ind].restoDia_mc.nDia_txt.text = i-primerDiaSemana+1;
//today
if(this[ind].restoDia_mc.nDia_txt.text==todayDay && hoy.getMonth() == todayMonth && hoy.getFullYear() == todayYear){ this[ind].marcahoy_mc._visible = true; }else{this[ind].marcahoy_mc._visible = false;}
//
var elanio = anio_txt.text;
var elmes;
var eldia = this[ind].restoDia_mc.nDia_txt.text;
if(eldia<10) eldia= "0"+eldia;
if((hoy.getMonth()+1)<10)elmes= "0"+(hoy.getMonth()+1);
this[ind].linkdia= baselink+"/cartelera/day/"+elanio+elmes+eldia;
}
}
}
function generaMes() {
clearDay();
mes = hoy.getMonth();
anio = hoy.getFullYear();
diasMes = lastDayInMonth(anio, mes);
primerDiaSemana = firstDayInWeek(anio, mes);
if (primerDiaSemana == 0) {
primerDiaSemana = 7;
}
nombreMes_txt.text = meses[mes];
anio_txt.text = anio;
mesC = mes+1;
if (mesC<10) {
mesC = "0"+mesC;
}
draw_calendar(datos);
}
generaMes();
/*----------------------------Botones del mes----------------------------------------*/
mesAtras_btn.onRelease = function() {
mesActual = hoy.getMonth();
restaActual = mesActual-1;
hoy.setMonth(restaActual);
mes = hoy.getMonth();
generaMes();
};
mesAdelante_btn.onRelease = function() {
actualMes = hoy.getMonth();
sumaMes = actualMes+1;
hoy.setMonth(sumaMes);
mes = hoy.getMonth();
generaMes();
};
