Foros del Web » Creando para Internet » Flash y Actionscript »

Tratando de migrar a as3

Estas en el tema de Tratando de migrar a as3 en el foro de Flash y Actionscript en Foros del Web. estoy pasando por el aro como muchos habeis hecho antes y me encuentro perdido como tambien a muchos os ha pasado antes estoy tratando de ...
  #1 (permalink)  
Antiguo 15/11/2010, 18:37
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Tratando de migrar a as3

estoy pasando por el aro como muchos habeis hecho antes y me encuentro perdido como tambien a muchos os ha pasado antes

estoy tratando de hacer esto

var a=0;
for each(var nodo:XML in XmlExterno.elements()){
var a:fiesta = new fiesta();
fiestas.addChild(a);
}

ya se que es una locura pero nose que hacer, con as2 era tan simplon todo

bueno lo que trato ed hacer es que teniendo un clip en la libreria

poder añadir ese clip por ejemplo 3 veces y poder controlar cada uno de los clips de forma independiente
  #2 (permalink)  
Antiguo 15/11/2010, 18:57
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 3 meses
Puntos: 193
Respuesta: Tratando de migrar a as3

Y cual es el problema concreto????
  #3 (permalink)  
Antiguo 15/11/2010, 18:59
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Tratando de migrar a as3

perdon se me habia olvidado ponerlo


Scene 1, Layer 'Layer 1', Frame 1, Line 33 1067: Implicit coercion of a value of type String to an unrelated type fiesta.


parece que al hacer
var a:fiesta = new fiesta();

no le gusta que "a" sea una variable si pongo un nombre cualquiera funciona perfectamente y me crea los 3 botones solo que uno encima del otro ya que no puedo editarlos por separado
  #4 (permalink)  
Antiguo 15/11/2010, 19:05
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 3 meses
Puntos: 193
Respuesta: Tratando de migrar a as3

Bueno para empezar tienes declarada la varible "a" 2 veces.

La info sigue siendo poca, me imagino que tienes tu "Clip" exportado para AS y con el nombre de Clase fiesta correcto?
  #5 (permalink)  
Antiguo 15/11/2010, 19:13
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Tratando de migrar a as3

a ver si me consigo explicar bien

tengo un clip en la biblioteca exportado a actionscript con la clase fiesta

quero añadior ese boton tantas veces como sea necesario si hago


for each(var nodo:XML in XmlExterno.elements()){
var boton:fiesta = new fiesta();
fiestas.addChild(boton);
}

todo va bien se insertan los 3 botones aunque uno encima del otro y si muevo boton muevo los 3 a la vez

lo que quiero es poder insertar cada boton con un nombre distinto para poder referenciarlos agusto y si hago esto

var a=0;
var b="fiesta"+a;
for each(var nodo:XML in XmlExterno.elements()){
var b:fiesta = new fiesta();
fiestas.addChild(b);
}

nada, sale ese error
  #6 (permalink)  
Antiguo 15/11/2010, 19:19
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Tratando de migrar a as3

tu comentario me ha hecho darme cuenta

var a=0;
var b="fiesta"+a;
for each(var nodo:XML in XmlExterno.elements()){
trace(nodo.titulo);
b= new fiesta();
fiestas.addChild(b);
b.y=30*a;
a++;

}

muchisimas gracias
  #7 (permalink)  
Antiguo 15/11/2010, 19:44
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 3 meses
Puntos: 193
Respuesta: Tratando de migrar a as3

Aquí mas detallado..


Código actionscript:
Ver original
  1. import flash.events.Event;
  2. import flash.display.MovieClip;
  3.  
  4. /**
  5. * Array para guardar los objetos creados
  6. */
  7. var store:Array = [];
  8.  
  9. /**
  10. *Creamos los objetos desde un MovieClip en la libreria y los ponemos en el stage de modo random
  11. */
  12.  
  13. for (var i:int = 0; i<5; i++)
  14. {
  15.     var tmp:ball = new ball();
  16.     store.push( tmp );
  17.     /*Damos un nombre para poder acceder al clip fuera del for */
  18.     tmp.name = "ball"+i;
  19.     tmp.x = Math.random() * stage.stageWidth;
  20.     tmp.y = Math.random() * stage.stageHeight;
  21.     addChild( tmp );
  22. }
  23.  
  24. /*
  25. * Accedemos a un objeto por su nombre
  26. */
  27. var ball2:MovieClip = getChildByName('ball2') as MovieClip;
  28. var ranx;int;
  29. var rany:int;
  30.  
  31. /*
  32. * Listener para animar un objeto solo como ejemplo
  33. */
  34.  
  35. addEventListener(Event.ENTER_FRAME, moveIt);
  36.  
  37. function moveIt(e:Event)
  38. {
  39.     ball2.x += ((ranx-ball2.x)/10);
  40.     ball2.y += ((rany-ball2.y)/10);
  41.     if (Math.round(ball2.x) == ranx || Math.round(ball2.y) == rany) {
  42.         moveAll();
  43.         newcoords();
  44.     }
  45. }
  46.  
  47. /*
  48. * Accedemos a los Objetos guardados en el array..
  49. */
  50. function moveAll()
  51. {
  52.     for each ( var ball:MovieClip in store)
  53.     {
  54.         ball.x = Math.random() * stage.stageWidth;
  55.         ball.y = Math.random() * stage.stageHeight;
  56.     }
  57. }
  58.  
  59. /*
  60. * funcion de ayuda para generar nuevas coordenadas..
  61. */
  62. function newcoords() {
  63.     ranx = Math.round((Math.random ()*stage.stageWidth));
  64.     rany = Math.round ((Math.random ()*stage.stageHeight));
  65. }
  #8 (permalink)  
Antiguo 15/11/2010, 20:16
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Tratando de migrar a as3

si no te doy mas karma es porque no me lo acepta.
eres una maquina
me habia vuelto a quedar enganchado para añadirles listeners para poder cliquearlos y aqui estaba la solucion

Etiquetas: migrar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:52.