Comunidad de diseño web y desarrollo en internet online

Crear varios clips en un bucle for.

Citar            
MensajeEscrito el 20 Feb 2007 10:35 am
Hola, tengo este código:

ter = 10
incx = 50

for (i=1;i <= ter;i++){
c = c + 1
this.createEmptyMovieClip("galeria" + c, 1);
this["galeria" + c].loadMovie("img/foto" + c + ".jpg");
this["galeria" + c]._x = eval("190" + incx)
this["galeria" + c]._y = 15
}

Pero no me da nada, cuando sustituyo this["galeria" + c]. por this.galeria me mete las 10 fotos en el mismo clip de pelicula. Como podría hacerse para que me cree varios clip de película y en cada uno meter la foto correspondiente?

Por boyere

Claber

191 de clabLevel

1 tutorial

Genero:Masculino  

Simplemente aprendo

msie
Citar            
MensajeEscrito el 20 Feb 2007 11:20 am
Problema resuelto.

Pero ahora, me surge otro problema, como le pongo un efecto onrelease a cada clip de película. O sea, que pinchando en cada foto me ejecute un código.

Por boyere

Claber

191 de clabLevel

1 tutorial

Genero:Masculino  

Simplemente aprendo

msie
Citar            
MensajeEscrito el 20 Feb 2007 07:21 pm
Con un prototipo. Es algo como esto:

Código :

MovieClip.prototype.botones = function () {
this.onRelease = function () {
trace ("Botón presionado");
};
};
Luego, sólor esta aplicar el prototipo dentro del for:

Código :

this["galeria" + c].botones ();
Acá tenés un buen ejemplo de cómo usar prototipos en botones creados con un for. Buscá a partir de mi segundo comentario. Dejo unos ejemplos (los .fla también) que te pueden resultar útiles.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 21 Feb 2007 09:54 am
Hola, he probado tu método y no me funciona y lo peor de todo es que no hace nada, por lo k no tengo ni idea de donde esta el fallo. He probado con este código:

MovieClip.prototype.botones = function () {
this.onRelease = function () {
getURL("http://www.cordobanostra.com", "_blank", "get");
}

Y despues en el bucle for:
this["galeria" + c].botones ();


Y con este otro, diréctamente en el bucle for:

this["galeria" + c].onRelease = function () {
getURL("http://www.cordobanostra.com", "_blank", "get");
}

Y ni se inmuta. Creia que al estar dentro de una mascara podría ser el problema, pero le he quitado la misma y nada. No creo que sea porque esté dentro de un clip verdad?

Por cierto, buenísima tu galería del otro post, para este no me hace mucha falta pero es bastante buena.

Gracias y saludos.

Por boyere

Claber

191 de clabLevel

1 tutorial

Genero:Masculino  

Simplemente aprendo

msie
Citar            
MensajeEscrito el 21 Feb 2007 06:30 pm
Bueno, la galería te la ponía como ejemplo del uso y aplicación de los prototipos. Con respecto a porqué falla, la verdad, no puedo estar seguro, pero creo que se debe a las rutas. Es decir, porque está dentro de un clip. Eso se soluciona cambiando la ruta.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 22 Feb 2007 10:21 am
Como bien has dicho, es un problema de rutas, ya que le pongo en el _root principal y si funciona. Ahora bien, como lo puedo hacer para meterlo dentro de un clip y con este código? O sea, como sería la sintaxis, la he probado de mil maneras y nada de nada. Espero que no sea imposible.

for (i=1;i <= ter;i++){
c = c + 1
this.createEmptyMovieClip("galeria" + c, 1);
this["galeria" + c].loadMovie("img/foto" + c + ".jpg");
this["galeria" + c]._x = eval("190" + incx)
this["galeria" + c]._y = 15
}

Por boyere

Claber

191 de clabLevel

1 tutorial

Genero:Masculino  

Simplemente aprendo

msie
Citar            
MensajeEscrito el 22 Feb 2007 09:33 pm
Donde ponés el código con el que llamás al prototipo? Y si lo ponés dentro del for, dónde está el for? Cuál es el nombre del MC?

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 23 Feb 2007 08:28 am
Ok, te explico.
El MC se llama galería, y dentro de ese MC va el bucle for, que crea los demás MC que son los que contienen las fotos. Te pongo el código para q te enteres mejor y quien sabe, le puede servir a alguien.
En negrita el código que si me sale, en negrita_cursiva el código que no.
Dentro del MC "galería", tengo este código:



stop();
var MiLoadVars = new LoadVars();
MiLoadVars.onLoad = function(){
_root.recibi = Number(this.termino);
}
MiLoadVars.load("variables2.asp");

var ter: Number = _root.recibi.text
_root.recibir = ter

//------------------------------------------------------------------------------------------------------------------------------
Cojo una variable de ASP que será el numero de fotos que tenga la carpeta, todas nombradas (foto1, foto2, foto3, etc). Pero aquí viene el primer fallo de mi código, en un campo text lo recoje perfectamente, pero a la hora de pasarlo a una variable Number (La variable ASP es un número), me sale undefined.

Seguimos.
//--------------------------------------------------------------------------------------------------------------------------------

c = 0
incx = 10


for (i=1; i<=ter;i++){
c = c + 1
fot = fot + 1
//Hago el bucle for y me va construyendo los MC (Galeria1, galeria2, galeria3, etc) que a su vez contienen las fotos (Foto1, foto2, foto3)

this.createEmptyMovieClip("galeria" + c, c);
this["galeria" + c].loadMovie("img/foto" + c + ".jpg");

//Situo el movie clip -------------------------------

if (c == 1){
this["galeria" + c]._x = 10


}else{
incx = incx + 60
this["galeria" + c]._x = incx
}
this["galeria" + c]._y = 15

//Quiero que cada movie clip, al pulsarlo me muestre otro MC del _root que me muestre la foto grande.

this["galeria" + c].onRelease = function()
{

_root.imgrande._alpha = 100
_root.imgrande.loadMovie("fotogrande" + c + ".jpg");

}
}


Como ves no he utilizado el prototipo, pero al usarlo, sería simplemente hacer el prototipo en otra capa de la misma MC "Galeria" y llamarlo desde aquí?, lo he probado y no sale. Donde pondría el prototipo y donde lo llamaría?

El MC Galería iría en el _root principal y el MC imgrande tambien.
Espero que te haya quedado ahora claro, y que le pueda servir a alguien, jeje.

Gracias tio.

Por boyere

Claber

191 de clabLevel

1 tutorial

Genero:Masculino  

Simplemente aprendo

msie
Citar            
MensajeEscrito el 24 Feb 2007 08:28 pm
Otra pregunta, el botón, no hace nada? Es decir, cambia el cursor a una manito? Te pregunto porque aunque sea quiero ver si te toma el onRelease, la verdad, así como está debería funcionar sin problemas.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 24 Feb 2007 08:40 pm
mas facil y sin prototipo:

Código :

for (i=1;i <= ter;i++){
c = c + 1
this.createEmptyMovieClip("galeria" + c, 1);
this["galeria" + c].loadMovie("img/foto" + c + ".jpg");
this["galeria" + c]._x = eval("190" + incx)
this["galeria" + c]._y = 15
this["galeria" + c].onRelease=function(){ trace("aqui lo que quieres que haga"); }
}

Por eveevans

Claber

450 de clabLevel

3 tutoriales

 

Nicaragua

firefox
Citar            
MensajeEscrito el 24 Feb 2007 08:43 pm
eevans, si te fijás el código que puso, no emplea prototipos.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 25 Feb 2007 10:33 pm
si , por eso ,
vos le aconsejabas usarlos

Por eveevans

Claber

450 de clabLevel

3 tutoriales

 

Nicaragua

firefox
Citar            
MensajeEscrito el 26 Feb 2007 08:35 am
Pues seguimos igual.
Como bien me dijiste HernanRivas, la manita no me la hace, por lo que el problema es que no me coje el onRelease.

Otra cosa que a lo mejor no he comentado esk hay una mascara encima, pero no tiene pork haber problemas con eso no? Porque he probado a hacer un boton vació y ponerlo en cada clip, y este si me funciona. Pero tendría que hacer bastantes botones vacíos, y la idea esk se creen dinámicamente. El código que tengo ahora mismo es el siguiente:

for (i=1;i <= ter;i++){
c = c + 1
this.createEmptyMovieClip("galeria" + c, 1);
this["galeria" + c].loadMovie("img/foto" + c + ".jpg");
this["galeria" + c]._x = eval("190" + incx) (Gracias por la apuracion)
this["galeria" + c]._y = 15this["galeria" + c].onRelease=function(){ getURL("http://www.cordobanostra.com", "_blank", "get"}}


Ter es una variable que cojo desde ASP, que por cierto, como dije, tambien me daba problemas, aunque eso es otra historia.
Todo me sale perfecto, menos la ultima funcion onRelease.

Gracias a los dos por interesaros.

Por boyere

Claber

191 de clabLevel

1 tutorial

Genero:Masculino  

Simplemente aprendo

msie
Citar            
MensajeEscrito el 27 Feb 2007 07:47 pm
for (i=1; i<11; i++) {
mc = this.createEmptyMovieClip("galeria"+i, i);
mc.loadMovie("img/foto"+i+".jpg");
mc.onRelease = function() {
getURL("http://www.cordobanostra.com", "_blank", "GET");
};
}

Por blacked sun

0 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 01 Mar 2007 11:39 am
He echo lo que me has dicho, pero sigo igual. Creo que va siendo hora de darme por vencido y optar por la solucion ñapa, crear 100 botones a pelo, no creo que las fotos pasen de ese numero.
En fin, muchas gracias a todos por vuestra ayuda y si a alguno le aparece la bombilla estando en el w.c, aki estaré.

Es una pena pork podía haber sido un buen tutorial, de como crear una galería con ASP y flash.

Por boyere

Claber

191 de clabLevel

1 tutorial

Genero:Masculino  

Simplemente aprendo

msie
Citar            
MensajeEscrito el 01 Mar 2007 01:47 pm
Y bueno, aunque sea, antes de escribir 100 códigos iguales (si los tenés que modificar te vas a volver loco) probá con los prototipos.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 01 Mar 2007 03:18 pm
Ya probé con los logotipos Hernan, no creas que no te hice caso. Hice lo siguiente:

MovieClip.prototype.botones = function () {
this.onRelease = function () {
getURL("http://www.cordobanostra.com", "_blank", "get");
}
}

Y en el bucle for esta sentencia:
Ahora gal.botones(); como me recomendó blacked sun
o antes, esta otra this["galeria"+c].botones();

El prototipo lo puse en una capa aparte de ese clip de película, en el clip que contiene ahora la película y en el _root principal. Y no me reconoce ningun onRelease, porque paso el ratón por encima y no se cambia el cursor.

Por boyere

Claber

191 de clabLevel

1 tutorial

Genero:Masculino  

Simplemente aprendo

msie
Citar            
MensajeEscrito el 01 Mar 2007 04:29 pm
ahahah,
pon los *.fla para revisar en flash los codigos
y te los hago funcionar !!!!!!
(es frustrante que no sirvan aun con todo lo que han puesto)

Por eveevans

Claber

450 de clabLevel

3 tutoriales

 

Nicaragua

firefox
Citar            
MensajeEscrito el 02 Mar 2007 08:22 am
Te lo envio a hotmail, por motivos de privacidad, ok?

Pues la verdad es bastante frustrante, pero lo peor de todo esk el fallo estará en una coma, como suele pasar. Jeje.

Por boyere

Claber

191 de clabLevel

1 tutorial

Genero:Masculino  

Simplemente aprendo

msie

 

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