Comunidad de diseño web y desarrollo en internet online

Flash Ticker con LEDs: Convertir de AS1 a AS2

Citar            
MensajeEscrito el 10 Feb 2009 04:33 pm
Hi folks! I need some help to convert an old Flash ticker programmed in AS1 to AS2 because I need to use the Tween class (only compatible with AS2).

Here is the code I need to make it works in AS2:

Hola! Necesito ayuda para traducir a AS2 un script un poco viejo (AS1 Flash 5). Se trata de un news ticker que utiliza LED's...

En el escenario hay dos movieclips: "dot" y "newdots".

Aquí está el código que tengo que convertir a AS2:

Código :

function initialice()
{
   var k = 1;
   
   for( var i = 1; i <= 175; i++ )
   {
      for( var j = 1; j <= 7; j++ )
      {
         target = "dot_" + i + "_" + j;
         duplicateMovieClip( "dot", target, k );
         eval( target )._x = i * 6;
         eval( target )._y = 21 + j*6;
         
         var k = k + 1;
         dots = k
         finalx = eval( target )._x;
         finaly = eval( target )._y - 35;
      }
   }
   
   startdots = dots
   countx = 0;
   county = 0;
   
   getTexto();
}

//enterFrame
function frameAction()
{
   moveDots();
   
   currLet = texto.charAt( countx );
   currCol = eval( "led" + currLet )[county];
   
   for( var row = 0; row < 7; row++ )
   {
      if( currCol[row] == 1 )
      {
         target = "dot_" + dots;
         newDots.attachMovie( "dm", target, dots );
         target = "newDots." + target;
         eval( target )._x = finalx
         eval( target )._y = finaly + row * 6
         dots = dots + 1;
      }
   }
   
   checker();
}

function moveDots()
{
   for( var thisDot in newDots )
   {
      trace( newDots[thisdot]._x );
      newDots[thisdot]._x -= 6
      
      if( newDots[thisdot]._x <= 5 )
         removeMovieClip( newDots[thisdot] );
   }
}

function checker()
{
   if( dots > 1.5 * startdots )
      dots = startdots;
      
   county = county + 1;
   
   if( county > 5 )
   {
      county = 0;
      countx = countx + 1;
      if( countx > texto.length )
      {
         countx = 0;
         getTexto();
      }
   }
}

function getTexto()
{
   texto = textClips[textCount];
   textCount = textCount + 1;
   
   trace( "Anuncio: " + textCount );
   
   if( textCount > textClips.length )
   {
      textCount = 0;
   }
}

// Matrix for letters and numbers
gap = [0,0,0,0,0,0,0];
_1 = [0,0,0,1,0,0,0];
_2 = [0,0,0,1,0,0,0];
_3 = [0,0,0,1,0,0,0];
_4 = [0,0,0,1,0,0,0];
_5 = [0,0,0,1,0,0,0];

//More matrix for letters and numbers (removed)...

// Array to texts to show in the ticker
// Use "_" for a "-"
textCount = 0;
textClips = ["text1...  ","blaablablablba...  "];
initialice();

Por gazpachu

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Feb 2009 05:15 pm
¿Te trabaste en algo o te lo traduzco entero?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Feb 2009 05:17 pm
Hola Jorge!,

Pues yo creo que el problema está aquí: (aunque no estoy seguro)

Código :

for( var thisDot in newDots )
   {
      trace( newDots[thisdot]._x );
      newDots[thisdot]._x -= 6
      
      if( newDots[thisdot]._x <= 5 )
         removeMovieClip( newDots[thisdot] );
   }


el "trace" si compilo con AS2 devuelve undefined... con AS1 todo okey

Por gazpachu

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Feb 2009 05:27 pm
En principio, cambia todos los eval a notación de array, por ejemplo:

eval( target )

sería

this[target]

Luego dale tipado a las variables, por ejemplo

var k:Number = 1;

Y luego no repitas var k, en general las variables que usas deben estar inicializadas y tipadas antes de usarse. El trace que muestras es consecuencia, no causa

Jorge

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Feb 2009 06:02 pm
Okey, ya he actualizado todas las variables menos las matrices, pero no funciona :oops:

Ahí va el código...

Código :

import mx.transitions.Tween;

Stage.scaleMode="noScale";
Stage.align="TL";

var countx:Number = 0;
var county:Number = 0;
var finalx:Number = 0;
var finaly:Number = 0;
var startdots:Number = 0;
var dots:Number = 0;
var currLet:String = "";
var currCol:String = "";

// Array to texts to show in the ticker
// Use "_" for a "-"
var texto:String = "";
var textCount:Number = 0;
var textClips:Array = new Array("1992 _ Citi emittiert den ersten Optionsschein auf deutsche Aktien  ","1993 _ Citi veröffentlicht Kurse auf Videotext  ","1993 _ Der Citibank Optionsschein Planer erblickte erstmals das Licht der Welt  ","1993 _ Citi emittiert den ersten Optionsschein auf amerikanische Aktien  ");

oye = new Object();
oye.onResize = function()
{
   expandir();
}

Stage.addListener(oye);

function expandir()
{
   bg._width = Stage.width;
}

expandir();

function showNewspaper( up:Boolean )
{
   if( up )
   {
      getURL("javascript:moveDown();");
      new Tween(newspaper, "_y", mx.transitions.easing.Regular.easeIn, 157, 85, .7, true);
   }
   else
   {
      getURL("javascript:moveUp();");
      new Tween(newspaper, "_y", mx.transitions.easing.Regular.easeIn, 85, 157, .7, true);
   }
}

function initialice()
{
   var k:Number = 1;
   
   for( var i:Number = 1; i <= 175; i++ )
   {
      for( var j:Number = 1; j <= 7; j++ )
      {
         var target:String = "dot_" + i + "_" + j;
         duplicateMovieClip( "dot", target, k );
         this[target]._x = i * 6;
         this[target]._y = 21 + j*6;
         
         k = k + 1;
         dots = k
         finalx = this[target]._x;
         finaly = this[target]._y - 35;
      }
   }
   
   startdots = dots
   countx = 0;
   county = 0;
   
   getTexto();
}
 
function frameAction()
{
   moveDots();
   
   currLet = texto.charAt( countx );
   currCol = this[ "led" + currLet ][county];
   
   for( var row:Number = 0; row < 7; row++ )
   {
      if( currCol[row] == 1 )
      {
         var target:String = "dot_" + dots;
         newDots.attachMovie( "dm", target, dots );
         target = "newDots." + target;
         this[target]._x = finalx
         this[target]._y = finaly + row * 6
         dots = dots + 1;
      }
   }
   
   checker();
}

function moveDots()
{
   for( var thisDot in newDots )
   {
      trace( newDots[thisdot]._x );
      newDots[thisdot]._x -= 6
      
      if( newDots[thisdot]._x <= 5 )
         removeMovieClip( newDots[thisdot] );
   }
}

function checker()
{
   if( dots > 1.5 * startdots )
      dots = startdots;
      
   county = county + 1;
   
   if( county > 5 )
   {
      county = 0;
      countx = countx + 1;
      if( countx > texto.length )
      {
         countx = 0;
         getTexto();
      }
   }
}

function getTexto()
{
   texto = textClips[textCount];
   textCount = textCount + 1;
   
   trace( "Anuncio: " + textCount );
   
   if( textCount > textClips.length )
   {
      textCount = 0;
   }
}

// Matrix for letters and numbers
gap = [0,0,0,0,0,0,0];
_1 = [0,0,0,1,0,0,0];
_2 = [0,0,0,1,0,0,0];
_3 = [0,0,0,1,0,0,0];
_4 = [0,0,0,1,0,0,0];
_5 = [0,0,0,1,0,0,0];
led_ = [_1,_2,_3,_4,_5,gap];
a1 = [0,1,1,1,1,1,1];
a2 = [1,0,0,1,0,0,0];
a3 = [1,0,0,1,0,0,0];
a4 = [1,0,0,1,0,0,0];
a5 = [0,1,1,1,1,1,1];
leda = [a1,a2,a3,a4,a5,gap];
b1 = [1,1,1,1,1,1,1];
b2 = [1,0,0,1,0,0,1];
b3 = [1,0,0,1,0,0,1];
b4 = [1,0,0,1,0,0,1];
b5 = [0,1,1,0,1,1,0];
ledb = [b1,b2,b3,b4,b5,gap];
c1 = [0,1,1,1,1,1,0];
c2 = [1,0,0,0,0,0,1];
c3 = [1,0,0,0,0,0,1];
c4 = [1,0,0,0,0,0,1];
c5 = [0,1,0,0,0,1,0];
ledc = [c1,c2,c3,c4,c5,gap];
d1 = [1,1,1,1,1,1,1];
d2 = [1,0,0,0,0,0,1];
d3 = [1,0,0,0,0,0,1];
d4 = [1,0,0,0,0,0,1];
d5 = [0,1,1,1,1,1,0];
ledd = [d1,d2,d3,d4,d5,gap];
e1 = [1,1,1,1,1,1,1];
e2 = [1,0,0,1,0,0,1];
e3 = [1,0,0,1,0,0,1];
e4 = [1,0,0,1,0,0,1];
e5 = [1,0,0,0,0,0,1];
lede = [e1,e2,e3,e4,e5,gap];
f1 = [1,1,1,1,1,1,1];
f2 = [1,0,0,1,0,0,0];
f3 = [1,0,0,1,0,0,0];
f4 = [1,0,0,1,0,0,0];
f5 = [1,0,0,0,0,0,0];
ledf = [f1,f2,f3,f4,f5,gap];
g1 = [0,1,1,1,1,1,0];
g2 = [1,0,0,0,0,0,1];
g3 = [1,0,0,0,0,0,1];
g4 = [1,0,0,1,0,0,1];
g5 = [0,1,0,0,1,1,0];
ledg = [g1,g2,g3,g4,g5,gap];
h1 = [1,1,1,1,1,1,1];
h2 = [0,0,0,1,0,0,0];
h3 = [0,0,0,1,0,0,0];
h4 = [0,0,0,1,0,0,0];
h5 = [1,1,1,1,1,1,1];
ledh = [h1,h2,h3,h4,h5,gap];
i1 = [1,0,0,0,0,0,1];
i2 = [1,0,0,0,0,0,1];
i3 = [1,1,1,1,1,1,1];
i4 = [1,0,0,0,0,0,1];
i5 = [1,0,0,0,0,0,1];
ledi = [i1,i2,i3,i4,i5,gap];
j1 = [1,0,0,0,0,0,0];
j2 = [1,0,0,0,0,0,1];
j3 = [1,0,0,0,0,0,1];
j4 = [1,1,1,1,1,1,0];
j5 = [1,0,0,0,0,0,0];
ledj = [j1,j2,j3,j4,j5,gap];
k1 = [1,1,1,1,1,1,1];
k2 = [0,0,0,1,0,0,0];
k3 = [0,0,1,0,1,0,0];
k4 = [0,1,0,0,0,1,0];
k5 = [1,0,0,0,0,0,1];
ledk = [k1,k2,k3,k4,k5,gap];
l1 = [1,1,1,1,1,1,1];
l2 = [0,0,0,0,0,0,1];
l3 = [0,0,0,0,0,0,1];
l4 = [0,0,0,0,0,0,1];
l5 = [0,0,0,0,0,0,1];
ledl = [l1,l2,l3,l4,l5,gap];
m1 = [1,1,1,1,1,1,1];
m2 = [0,1,0,0,0,0,0];
m3 = [0,0,1,0,0,0,0];
m4 = [0,1,0,0,0,0,0];
m5 = [1,1,1,1,1,1,1];
ledm = [m1,m2,m3,m4,m5,gap];
n1 = [1,1,1,1,1,1,1];
n2 = [0,1,0,0,0,0,0];
n3 = [0,0,1,0,0,0,0];
n4 = [0,0,0,1,0,0,0];
n5 = [1,1,1,1,1,1,1];
ledn = [n1,n2,n3,n4,n5,gap];
o1 = [0,1,1,1,1,1,0];
o2 = [1,0,0,0,0,0,1];
o3 = [1,0,0,0,0,0,1];
o4 = [1,0,0,0,0,0,1];
o5 = [0,1,1,1,1,1,0];
ledo = [o1,o2,o3,o4,o5,gap];
p1 = [1,1,1,1,1,1,1];
p2 = [1,0,0,1,0,0,0];
p3 = [1,0,0,1,0,0,0];
p4 = [1,0,0,1,0,0,0];
p5 = [0,1,1,0,0,0,0];
ledp = [p1,p2,p3,p4,p5,gap];
q1 = [0,1,1,1,1,1,0];
q2 = [1,0,0,0,0,0,1];
q3 = [1,0,0,0,1,0,1];
q4 = [1,0,0,0,0,1,0];
q5 = [0,1,1,1,1,0,1];
ledq = [q1,q2,q3,q4,q5,gap];
r1 = [1,1,1,1,1,1,1];
r2 = [1,0,0,1,0,0,0];
r3 = [1,0,0,1,1,0,0];
r4 = [1,0,0,1,0,1,0];
r5 = [0,1,1,0,0,0,1];
ledr = [r1,r2,r3,r4,r5,gap];
s1 = [0,1,1,0,0,1,0];
s2 = [1,0,0,1,0,0,1];
s3 = [1,0,0,1,0,0,1];
s4 = [1,0,0,1,0,0,1];
s5 = [0,1,0,0,1,1,0];
leds = [s1,s2,s3,s4,s5,gap];
t1 = [1,0,0,0,0,0,0];
t2 = [1,0,0,0,0,0,0];
t3 = [1,1,1,1,1,1,1];
t4 = [1,0,0,0,0,0,0];
t5 = [1,0,0,0,0,0,0];
ledt = [t1,t2,t3,t4,t5,gap];
u1 = [1,1,1,1,1,1,0];
u2 = [0,0,0,0,0,0,1];
u3 = [0,0,0,0,0,0,1];
u4 = [0,0,0,0,0,0,1];
u5 = [1,1,1,1,1,1,0];
ledu = [u1,u2,u3,u4,u5,gap];
v1 = [1,1,1,1,1,0,0];
v2 = [0,0,0,0,0,1,0];
v3 = [0,0,0,0,0,0,1];
v4 = [0,0,0,0,0,1,0];
v5 = [1,1,1,1,1,0,0];
ledv = [v1,v2,v3,v4,v5,gap];
w1 = [1,1,1,1,1,1,1];
w2 = [0,0,0,0,0,1,0];
w3 = [0,0,0,0,1,0,0];
w4 = [0,0,0,0,0,1,0];
w5 = [1,1,1,1,1,1,1];
ledw = [w1,w2,w3,w4,w5,gap];
x1 = [1,1,0,0,0,1,1];
x2 = [0,0,1,0,1,0,0];
x3 = [0,0,0,1,0,0,0];
x4 = [0,0,1,0,1,0,0];
x5 = [1,1,0,0,0,1,1];
ledx = [x1,x2,x3,x4,x5,gap];
y1 = [1,1,0,0,0,0,0];
y2 = [0,0,1,0,0,0,0];
y3 = [0,0,0,1,1,1,1];
y4 = [0,0,1,0,0,0,0];
y5 = [1,1,0,0,0,0,0];
ledy = [y1,y2,y3,y4,y5,gap];
z1 = [1,0,0,0,0,1,1];
z2 = [1,0,0,1,1,0,1];
z3 = [1,0,0,1,0,0,1];
z4 = [1,0,1,1,0,0,1];
z5 = [1,1,0,0,0,0,1];
ledz = [z1,z2,z3,z4,z5,gap];
oo1 = [0,0,0,1,1,1,0];
oo2 = [1,0,1,0,0,0,1];
oo3 = [0,0,1,0,0,0,1];
oo4 = [1,0,1,0,0,0,1];
oo5 = [0,0,0,1,1,1,0];
ledö = [oo1,oo2,oo3,oo4,oo5,gap];
aa1 = [0,0,0,1,1,1,1];
aa2 = [1,0,1,0,1,0,0];
aa3 = [0,0,1,0,1,0,0];
aa4 = [1,0,1,0,1,0,0];
aa5 = [0,0,0,1,1,1,1];
ledä = [aa1,aa2,aa3,aa4,aa5,gap];
num11 = [0,0,0,0,0,0,0];
num12 = [0,0,1,0,0,0,0];
num13 = [0,1,0,0,0,0,0];
num14 = [1,1,1,1,1,1,1];
num15 = [0,0,0,0,0,0,0];
led1 = [num11,num12,num13,num14,num15,gap];
num21 = [0,1,0,0,0,0,1];
num22 = [1,0,0,0,0,1,1];
num23 = [1,0,0,0,1,0,1];
num24 = [1,0,0,1,0,0,1];
num25 = [0,1,1,0,0,0,1];
led2 = [num21,num22,num23,num24,num25,gap];
num31 = [0,1,0,0,0,1,0];
num32 = [1,0,0,1,0,0,1];
num33 = [1,0,0,1,0,0,1];
num34 = [1,0,0,1,0,0,1];
num35 = [0,1,1,0,1,1,0];
led3 = [num31,num32,num33,num34,num35,gap];
num41 = [0,0,1,1,1,0,0];
num42 = [0,1,0,0,1,0,0];
num43 = [1,0,0,0,1,0,0];
num44 = [0,0,1,1,1,1,1];
num45 = [0,0,0,0,1,0,0];
led4 = [num41,num42,num43,num44,num45,gap];
num51 = [1,1,1,1,0,0,1];
num52 = [1,0,0,1,0,0,1];
num53 = [1,0,0,1,0,0,1];
num54 = [1,0,0,1,0,0,1];
num55 = [1,0,0,0,1,1,0];
led5 = [num51,num52,num53,num54,num55,gap];
num61 = [0,1,1,1,1,1,0];
num62 = [1,0,0,1,0,0,1];
num63 = [1,0,0,1,0,0,1];
num64 = [1,0,0,1,0,0,1];
num65 = [0,1,0,0,1,1,0];
led6 = [num61,num62,num63,num64,num65,gap];
num71 = [1,0,0,0,0,0,0];
num72 = [1,0,0,0,0,0,0];
num73 = [1,0,0,1,1,1,1];
num74 = [1,0,1,0,0,0,0];
num75 = [1,1,0,0,0,0,0];
led7 = [num71,num72,num73,num74,num75,gap];
num81 = [0,1,1,0,1,1,0];
num82 = [1,0,0,1,0,0,1];
num83 = [1,0,0,1,0,0,1];
num84 = [1,0,0,1,0,0,1];
num85 = [0,1,1,0,1,1,0];
led8 = [num81,num82,num83,num84,num85,gap];
num91 = [0,1,1,0,0,1,0];
num92 = [1,0,0,1,0,0,1];
num93 = [1,0,0,1,0,0,1];
num94 = [1,0,0,1,0,0,1];
num95 = [0,1,1,1,1,1,0];
led9 = [num91,num92,num93,num94,num95,gap];
num01 = [0,1,1,1,1,1,0];
num02 = [1,0,0,0,0,0,1];
num03 = [1,0,0,0,0,0,1];
num04 = [1,0,0,0,0,0,1];
num05 = [0,1,1,1,1,1,0];
led0 = [num01,num02,num03,num04,num05,gap];

initialice();

Por gazpachu

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Feb 2009 06:04 pm
He subido el .fla aqui:

http://www.webmarket.es/webs/citigroup/banner_20_years.fla

Por gazpachu

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Feb 2009 06:30 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Feb 2009 06:41 pm
Entiendo, no hay problema.

Tan solo lo he puesto por si hay algún usuario con tiempo y ganas de ayudar que quisiera descargarlo para hacer pruebas.

En realidad no son 300 lineas de codigo a revisar, ya que la mitad o más del código son matrices que que siguen un mismo patrón.

Saludos! y gracias!

Por gazpachu

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 22 Abr 2009 10:07 pm
Hola gazpachu, yo tengo el mismo script pero claro, lo uso como AS1 y quizá tú me puedas ayudar en algo que me da vueltas.

Resulta que estoy tratando de que al cambiar el color del mc "dot" no me afecte a la grilla que se genera con la funcion "initialise()". Me explico, lo que quiero conseguir es que si le cambio el color al mc "dot" por ejemplo a AZUL, la grilla no me cambie de color y siga siendo blanca pero no he logrado independizar el armado de la grilla con el armado de los caracteres.

Hay un objeto que no se de donde sale y se llama "dm" que es usado para armar los caracteres. Quiero poder intervenir este objeto para cambiar solo el color del armado de los caracteres.

Espero me puedas dar una mano.
Gracias.

Andrés R.

Por DarkLaden

6 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.