Comunidad de diseño web y desarrollo en internet online

Añadir objeto al escenario

Citar            
MensajeEscrito el 27 Jul 2017 08:18 pm
Hola!
Quería saber si es posible, de alguna manera, hacer lo siguiente:
Tengo en la biblioteca un clip de película, se llama simplemente C. Lo instancio:
var nuevoC:C = new C();
y lo añado al escenario:
addChild(nuevoC).
Hasta ahí perfecto. Pero lo que quería hacer es lo siguiente: querría añadirlo las veces que quisiera. Por eso lo que hice fue crear una variable:
var contarC:uint = 1;
Hacer las instancias que necesite, por ejemplo 3:
var nuevoC1:C = new C();
var nuevoC2:C = new C();
var nuevoC3:C = new C();
Y después añadirlas cuando lo necesite:
addChild("nuevoC"+contarC);
Pero evidentemente me da un error, porque uno es un string y otro un movie clip.
¿Hay alguna manera de hacer lo que quiero?
Muchas gracias

Por Xaora

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Ago 2017 01:48 pm
Prueba

addChild(this["nuevoC"+contarC]);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 02 Ago 2017 02:46 pm
Gracias, si que funciona, pero estoy intentando hacerlo de otra manera, porque conseguiría ahorrarme mucho código. Al final creé 4 movieClips con nombres C1, C2, C3 y C4 y los agrupé los cuatro en otro MovieClip al que llamé "carbonos" y este último lo exporté para ActionScript con un nombre de clase igual, es decir, "carbonos". Lo eliminé del escenario y escribí el siguiente código:

var nuevoCarbonos:carbonos = new carbonos();

nuevoCarbonos.x = 100;
nuevoCarbonos.y = 150;
addChild(nuevoCarbonos);

Todo perfecto, incluso como quería que alguno de los movieClips incluidos dentro no fuera visible, puse el siguiente código:

nuevoCarbonos.C2.visible = false;

Y perfecto también, me hace invisible ese movieClip.
Entonces, ¿cuál es el problema? Pues que ahora quiero hacer los mismo con otros movieClips y cuando quiero acceder a uno que está dentro de otro me da un mensaje de error:
Error #1010: A term is undefined and has no properties.

Creo que los creé exactamente igual e hice los mismo, pero me da este error.

Muchas gracias y un saludo!

Por Xaora

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Ago 2017 08:08 pm
Nada, solucionado. Ya me di cuenta de la tontería. Pero aprovecho para comentarte la aplicación que estoy intentando hacer a ver si me puedes dar una sugerencia para poder terminarla.
Se trata de un puzzle con 4 piezas rectangulares, todas de distintos tamaños. El jugador arrastra esas piezas y las coloca a su gusto. Puede repetir piezas del mismo tipo. Al final, la colocación de las mismas puede ser la correcta o no, y ahí viene mi duda. ¿Cómo puedo programar para que la aplicación pueda responderle al jugador si la colocación está bien? Estoy dándole vueltas y no llegué a ninguna conclusión que me convenza.
Muchas gracias y un saludo!

Por Xaora

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Ago 2017 09:16 pm
Creas un array de propiedades de cada pieza, en donde la propiedad done est[a en false. Cada vez que se coloca en el lugar adecuado genera un evento para que esa propiedad se pase a true, luego de que estan todos en true has finalizado.
El rompecabezas es un clásico, si estas aprendiendo esta bien que trates de razonarlo, pero hay una docena de ejemplos dando vueltas por ahi. El que yo había hecho hace una década usaba la clase BitmapData para "romper" la foto en X pedazos, con lo cual de cualquier imagen armabas un rompecabezas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Ago 2017 10:12 am
Tengo un problema al intentar añadir un MovieClip que tengo en la biblioteca al escenario desde una clase.
Exactamente tengo una carpeta llamada Clases, donde tengo el Main y dos archivos de clases más. Desde uno de ellos puedo añadir sin problema ese MovieClip al escenario. Hago lo siguiente:
var nuevoEnlaceSimple:Clases.enlaceSimple = new Clases.enlaceSimple();
addChild(nuevoEnlaceSimple);

Me funciona coloque el addChild donde lo coloque, en el constructor de la clase o dentro de una función.

Pero si hago esto mismo desde la otra clase me dice:
1180: Llamada a un método addChild posiblemente no definido.
1120: Acceso a una propiedad nuevoEnlaceSimple no definida.

Si coloco el addChild dentro de una función, que es lo que quiero hacer, si lo coloco en el constructor de la clase no da error.

Por Xaora

30 de clabLevel



 

chrome

 

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