• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Enrique Chavez

Professional WordPress Development

  • Home
  • Blog
  • Contact Me
  • Hire Me

Calendario

ActionScript · Jun 24, 2004

Como alguno de ustedes saben, estoy trabajando en “mini-blog” en Flash, el cual esta un poco olvidado.. :(.
Para tener un Blog es esencial tener un calendario, Flash tiene el Componente DateChooser, pero en lo personal ocupo los componentes muy rara vez..
Esto dio como resultado un esto:

[FLASH]http://www.tmeister.dev/archivos/calendario.swf ,160, 150 [/FLASH]

Es el tipico Calendario el cual marca por default el dia actual. El Calendario esta creado en su totalidad con ActionScript excepto los botones y el campo del mes. (no los hice por flojera.. jeje), tal vez despues cree una Clase de esto..

En fin aqui les dejo los archivos para su deleite. 😀

Por cierto el SWF solo pesa 2Kb.

Descargar

Related

Filed Under: ActionScript Tagged With: ActionScript

Enrique Chavez

Senior Full Stack WordPress developer & WordPress Enthusiast -
Spend my days building cool stuff with WordPress.

Reader Interactions

Comments

  1. NODANI says

    Jun 29, 2004 at 10:36 am

    Oye muy bien! Pero te tengo que decir un par de cosillas, en primer lugar podrias comentar el FLA que no se entiende nada y explikar un pokillo su funcionamiento para que nos maravillemos aun mas!! Otra cosilla es que al llegar a ENERO 2005 se para! no sigue avanzando y para atras pues llegue hasta el 2000 ypodia haber seguido asi que no se como esta la cosa por ahi, eso si muy cool. Tambien falto una “mega-funcion” para señalar dias en los que haya post y/u otras cosillas, aunque kreo que eso ya nos toka mas a nosotros y por eso estoy trabajando alli desde ahora mismo! Por lo demas un gran trabajo! y si puedes echarle un vistazo a los del enero 2005 mejor que mejor! saludetes!

    Reply
  2. Tmeister says

    Jun 29, 2004 at 10:58 am

    Wenas
    Lo de los comentarios al Fla y la “Mega-Funcion” cuando tenga un tiempo lo hago.. 😀

    En cuanto a que solo llega al mes de Enero del 2005 es una validacion que se me olvido quitar.. jejeje

    solo cambia esto

    [code]
    sig_mc.onRelease = function() {
    if (anioActual<=anioReal) {
    if (mesActual<11) {
    verMes(++mesActual, anioActual);
    } else {
    mesActual = 0;
    verMes(mesActual, ++anioActual);
    }
    }
    };
    [/code]

    Por esto.

    [code]
    sig_mc.onRelease = function() {
    if (mesActual<11) {
    verMes(++mesActual, anioActual);
    } else {
    mesActual = 0;
    verMes(mesActual, ++anioActual);
    }
    };
    [/code]

    Lo de los cometarios es un mal habito casi no los uso.. pero prometo que empezare a hacerlo…

    Saludos!! 8)

    Reply
  3. NODANI says

    Jun 29, 2004 at 11:29 am

    Bueno yo tampoko suelo usar muchos los comentarios, la verdad es que esta bastante bien el code, ya “hice” lo del boton mi codigo es jodidamente cutre [poko elavorado] de todas formas te dejo el FLA, en http://www.nodani.com/calendar.fla y el codigo aki

    [code]_lockroot = true;
    dia_array = [“Do”, “Lu”, “Ma”, “Mi”, “Ju”, “Vi”, “Sa”];
    mes_array = [“Ene”, “Feb”, “Mar”, “Abr”, “May”, “Jun”, “Jul”, “Ago”, “Sep”, “Oct”, “Nov”, “Dic”];
    mesII_array = [“Enero”, “Febrero”, “Marzo”, “Abril”, “Mayo”, “Junio”, “Julio”, “Agosto”, “Septiembre”, “Octubre”, “Noviembre”, “Diciembre”];
    dias_activos = [“14/5/2004”, “30/6/2004”, “15/7/2004”, “30/7/2004”];
    acciones = [“ir a la playa”, “comer chino”, “comprar coche”, “visitar padres”];
    function init(pos_x, pos_y) {
    f_date = new Date();
    anioReal = anioActual=f_date.getYear();
    anio = (f_date.getYear()+1900);
    mesReal = mesActual=mes=f_date.getMonth();
    mes_txt.text = mesII_array[mes]+” “+Number(anioActual+1900);
    dia = f_date.getDate();
    diaName = f_date.getDay();
    big = makeSquare(this, 154, 119, 151, “0xffffff”, “”);
    big._y = pos_x;
    big._x = pos_y;
    for (var a in dia_array) {
    clip = makeSquare(big, 22, 17, a, “0xEBEBEB”, dia_array[a]);
    clip._x = a*22;
    }
    mes_temp = (Number(mesReal)<10) ? “0”+(Number(mesReal+1)) : Number(mesReal+1);
    creaDias();
    }
    function makeDate(te) {
    te = te.split(” “);
    te_fe = te[0].split(“-“);
    te_anio = te_fe[0];
    te_mes = (Number(te_fe[1])<10) ? te_fe[1].substr(1, 1) : te_fe[1];
    te_dia = (Number(te_fe[2])<10) ? te_fe[2].substr(1, 1) : te_fe[2];
    te_hora = te[1].substr(0, te[1].length-3);
    te_fecha = te_dia+” de “+mesII_array[te_mes-1]+” del “+te_anio+” @ “+te_hora;
    return te_fecha;
    }
    function verMes(mesV, anio) {
    for (nodani=250; nodani<300; nodani++) {
    _root[“tempo”+nodani].removeMovieClip();
    }
    trace(mes+” “+anio);
    f_date = new Date();
    if (mesV == mesReal) {
    dia = f_date.getDate();
    diaName = f_date.getDay();
    } else {
    dia = null;
    diaName = null;
    }
    f_date.setYear(anio);
    anio = (f_date.getYear()+1900);
    f_date.setMonth(mesV);
    mes = f_date.getMonth();
    mes_txt.text = mesII_array[mesV]+” “+Number(anio+1900);
    big = makeSquare(this, 154, 119, 151, “0xffffff”, “”);
    big._y = 0;
    big._x = 0;
    for (var a in dia_array) {
    clip = makeSquare(big, 22, 17, a, “0xEBEBEB”, dia_array[a]);
    clip._x = a*22;
    }
    mes_temp = (Number(mes)<10) ? “0”+(Number(mes+1)) : Number(mes+1);
    creaDias();
    }
    function makeSquare(tmp_mc, ancho, largo, p, col, label) {
    var tm_mc = tmp_mc.createEmptyMovieClip(“tempo”+p, p);
    tm_mc.beginFill(col);
    tm_mc.lineStyle(1, 0xffffff);
    tm_mc.lineTo(0, 0);
    tm_mc.lineTo(0+ancho, 0);
    tm_mc.lineTo(0+ancho, 0+largo);
    tm_mc.lineTo(0, 0+largo);
    tm_mc.lineTo(0, 0);
    format = new TextFormat();
    format.font = “Verdana”;
    format.size = 10;
    format.bold = true;
    format.color = 0x990000;
    tm_mc.createTextField(“label_txt”, p+100, 2, 0, 0, 0);
    tm_mc.label_txt.selectable = false;
    tm_mc.label_txt.html = true;
    tm_mc.label_txt.text = label;
    tm_mc.label_txt.autoSize = true;
    tm_mc.label_txt.setTextFormat(format);
    return tm_mc;
    }
    function creaDias() {
    var d = b=0;
    var c = 1;
    var t_date = new Date();
    var ya = false;
    var prof = 0;
    for (var a = 0; a<=31; a++) {
    t_date.setYear(anio, mes, a);
    if (t_date.getMonth() == mes) {
    if (!ya) {
    t_dateb = new Date();
    t_dateb.setYear(anio, mes, 1);
    ini = t_dateb.getDay();
    c = (ini == 0) ? 0 : c;
    b = ini-1;
    ya = true;
    }
    hecho = 0;
    for (kil=0; kil<dias_activos.length; kil++) {
    prof = big.getNextHighestDepth();
    trace(prof);
    amparo = new Array();
    amparo = dias_activos[kil].split(“/”);
    if (amparo[1] == (mes+1) && amparo[2] == anio) {
    dia = amparo[0];
    } else {
    dia = 400;
    }
    if (t_date.getDate() == dia) {
    dia_mc = makeBoton(prof, ++d, acciones[kil]);
    hecho = 1;
    }
    }
    //end del for
    if (hecho == 0) {
    dia_mc = makeSquare(big, 22, 17, prof, “0xffffff”, ++d);
    }
    b = (ini%7 == 0) ? 0 : ++b;
    c = (ini%7 == 0) ? ++c : c;
    dia_mc._x = b*22;
    dia_mc._y = c*17;
    ini++;
    }
    }
    }
    ant_mc.onRelease = function() {
    if (mesActual>0) {
    verMes(–mesActual, anioActual);
    } else {
    mesActual = 11;
    verMes(mesActual, –anioActual);
    }
    };
    sig_mc.onRelease = function() {
    if (mesActual<11) {
    verMes(++mesActual, anioActual);
    } else {
    mesActual = 0;
    verMes(mesActual, ++anioActual);
    }
    };
    function makeBoton(p, label, accion) {
    var tm_mc = activo.duplicateMovieClip(“tempo”+p, p);
    format = new TextFormat();
    format.font = “Verdana”;
    format.size = 10;
    format.bold = true;
    format.color = 0x990000;
    tm_mc.createTextField(“label_txt”, p+100, 2, 0, 0, 0);
    tm_mc.label_txt.selectable = false;
    tm_mc.label_txt.html = true;
    tm_mc.label_txt.text = label;
    tm_mc.label_txt.autoSize = true;
    tm_mc.label_txt.setTextFormat(format);
    tm_mc.bt.onRelease = function() {
    trace(accion);
    };
    return tm_mc;
    }
    init(0, 0);

    [/code] he REUTILIZADO lo que teniais en cuanto a lo del boton y tal , en definitiva que como no lo entendia muy bien pues he tokado el menos codigo posible, y usado variables “estranbotikas a fin de no meterme con ninguna tuya” lo uniko que necesitas es añadir a tu fla un MC [llamado “activo” que contenga a un boton llamado “bt” de 22×17 color 0xCCCCCC] o bajarse el fla que puse,usa unos arrays uno de fechas dd/mm/aaaa y otro de acciones, por el momento son traces normales. En fin si ustedes me lo permiten pues lo usare en algun site ok? saludetes

    Reply
  4. NODANI says

    Jun 29, 2004 at 11:31 am

    oups! se me corto el post a mitad, bueno mejor bajate el fla, y solo que usa esos dos arrays del principio y un par de comprobaciones despues, tb uso un MC llamado “activo” que contiene a un boton “bt” de 22×17 de color gris, en fin saludetes

    Reply
  5. Tmeister says

    Jun 29, 2004 at 12:00 pm

    Umm nice…

    Por cierto lo del post fue por que hay un pequeño bug al insertar codigo no parsea bien los < y los >

    Ya lo arreglare…

    Saludos!! 8)

    Reply
  6. THERROR says

    Jun 29, 2004 at 9:41 pm

    otro pequeño bug… para atrás, después del 2001 sigue el 3899

    muy bueno, saludos

    Reply
  7. NibblesMX says

    Jul 2, 2004 at 1:33 pm

    yo habia hecho un calendario hace tiempo. los campos no los generaba con AS, pero que yo recuerde, no era tanto codigo como el de nodani.

    http://www.danov.com/~evilnibble/calendario.html

    Reply
  8. Tmeister says

    Jul 2, 2004 at 2:05 pm

    Bueno, aqui las funciones mas “grandes” son makeSquare que genera los cuadros de los dias y la funcion creaDias que crea y acomoda los dias segun el mes, por lo demas el codigo es similar al tuyo. Pero siempre es bueno tener varias opciones 😀

    Saludos!! 8)

    Reply
  9. NODANI says

    Jul 4, 2004 at 5:16 am

    bueno el codigo no es mio, Nibbles, sino del maestro Tmeister, yo solo añadi lo que se pudieran señalar diferentes dias con diferentes acciones, por lo demas el tuyo tambien esta muy bien, solo un pekeño error, selecciona el dia en todos los meses, es decir, si estamos en 4 de julio , tb señalas el 4 d agosto, d septiembre etc etc, saludetees!

    Reply
  10. alfge says

    Aug 5, 2005 at 2:26 pm

    qe tal,,,baje el calendario.fla el de tmeister pero no lo abre…..dice “formato de archivo no esperado” y el .swf al ejecutarlo solo sale la parte del mes ,,pero no sirve los botones,,solo esta estatico,,,,
    estoy utilizando flaxh mx, no se si tenga qe ver la version,,,,alguien podria despejar la duda..gracias

    Reply
    • yesid valencia says

      Mar 3, 2011 at 7:52 pm

      seria buen un video turorial mostrando los pasos para crear el calendario en flash.

      Reply
  11. Ví­ctor says

    Dec 22, 2007 at 11:58 am

    Y como se insertaria las acciones para los dias?,por ejemplo, que el 25 de diciembre te lo marque como Navidad.

    Reply
  12. Jack7 says

    Mar 26, 2009 at 1:02 pm

    a veces lo simple es suficiente por bueno
    grax mil

    Reply

Trackbacks

  1. .:: klr20mg ::. Una dosis diaria de …. » Blog Archive » Un poco de decencia por favor :) says:
    May 5, 2006 at 3:31 pm

    […] A que va todo esto, El dia de hoy me encuentro que un sitio esta utilizando un ejemplo de mi autoria (Calendario), hasta aqui no hay problema, […]

    Reply
  2. sum says:
    Dec 4, 2007 at 11:44 pm

    sum…

    sum…

    Reply
  3. bentley says:
    Jun 12, 2008 at 5:14 am

    bentley…

    asdf asd f43234121123123123wwfasdf…

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Footer

SUBSCRIBE FOR UPDATES

Like what you’ve read? If you're interested in my email, sign up here. No spam I promise!

My WordPress Plugins

  • JWT for WP REST API
  • WP Simple Mail Sender
  • Idea Factory

My SideProjects

  • WordPress Plugin Boilerplate Generator

My Profiles

  • WordPress
  • GitHub
  • Linkedin

Additional Info

  • Blog
  • Hire Me
  • Contact Me

© 2021 Enrique Chavez