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

Como cargo un MC?

Estas en el tema de Como cargo un MC? en el foro de Flash y Actionscript en Foros del Web. Hola a todos: Bién, cuándo hago películas en flash (estoy iniciando), cargo muy bién otros *.swf con loadmovie... Pero como hago para cargar un MC ...
  #1 (permalink)  
Antiguo 04/07/2004, 00:04
Avatar de rusoftware  
Fecha de Ingreso: abril-2004
Ubicación: Rosario - Argentina
Mensajes: 1.083
Antigüedad: 20 años, 7 meses
Puntos: 2
Pregunta Como cargo un MC?

Hola a todos:

Bién, cuándo hago películas en flash (estoy iniciando), cargo muy bién otros *.swf con loadmovie... Pero como hago para cargar un MC de la biblioteca? No quiero tener 40 clips separados...

Pongámos por ejemplo que en el primer fotograma tengo un clip "unclip" y quiero que cuándo este termine me carge el MC "dosclip" de la biblioteca, sin que desaparezca el primero.

Gracias a todos. Fede
  #2 (permalink)  
Antiguo 04/07/2004, 00:41
Avatar de virtualSnake  
Fecha de Ingreso: julio-2004
Mensajes: 85
Antigüedad: 20 años, 4 meses
Puntos: 0
ok veamos

bueno antes q nada, saludos.

respondiendo a tu pregunta.
lo q pides es sencillo. pero vamos por partes
deberas tener 2 frames(cuadros). en uno va tu preloader(precagador).
ahora veamos el codigo de tu preloader:
habre el frame 1 con F9 y picale a modo experto tu modo de action script.
o si antes as tu preloader.

veamos el script:

function preload(preloadContent) {
preloader._visible = 1;
preloader.bar._xscale = 0;
preloader.display.text = "0%";
preloader.total.text = "0/0 kbs";
intervalId = setInterval(preloadCallback, 10, preloadContent);
}
function preloadCallback(preloadContent) {
var download = 0;
var downloaded = 0;
var percentLoaded = 0;
download = preloadContent.getBytesTotal();
downloaded = preloadContent.getBytesLoaded();
percentLoaded = Math.ceil(downloaded/download*100);
preloader.display.text = percentLoaded+"%";
preloader.total.text = int(downloaded/1000) add "/" add int(download/1000) add " kbs";
preloader.bar._xscale = percentLoaded;
preloader.speed.text = velocidad;
updateAfterEvent();
if ((downloaded == download && download>0)) {
gotoAndStop("run");
clearInterval = (intervalId);
preloader._visible = 0;
}
}

espero y le entiendas, es cuestion de creatividad para adaptarlo a lo q tu quieres. igual y si no le entiende ni pex. dime y te ago el paro y t explico bien. nomas que ahora no tengo tiempo.

suerte. {virtualSnake}
  #3 (permalink)  
Antiguo 04/07/2004, 02:28
Avatar de virtualSnake  
Fecha de Ingreso: julio-2004
Mensajes: 85
Antigüedad: 20 años, 4 meses
Puntos: 0
Pregunta

nota:

se me olvidaba un detalle:

preloader.speed.text = velocidad;
no sirve de nada, quitaselo hehe.
  #4 (permalink)  
Antiguo 04/07/2004, 07:22
Avatar de pulento  
Fecha de Ingreso: noviembre-2002
Ubicación: En un pequeño, helado, obscuro reino... llamado Dinamarca.
Mensajes: 1.852
Antigüedad: 22 años
Puntos: 1
virtualSnake .. sin animo de poner en duda tus conocimientos... pero como dice rusofware "esta empezando.." y creo que se la estas complicando "un poco".



rusofware

Solamente pon esto en el ultimo frame de tus movies.
code>

_root.attachMovie("elNombreConElCualLoIdentificara s","nuevoNombre",nivel);

Luego debes vincularlos para AS.

Y como se hace eso ...:

Ctrl+L y tienes la libreria delante.
Dale click con el derecho al movie que quieres attachar y te saldra un popup-menu.
Elige vinculacion.
Marca exportar para Action Script.
Pole un identificador que debe ser igual que el nombre con el que lo llamaras en el code anterior.

Y listo asi lo puedes attachar desde la libreria
Haz lo mismo con cada movie que quieras attachar.
Ha.! y claro que deben tener diferentes nombres...

Salu2
__________________
http://www.flotdesign.dk/
  #5 (permalink)  
Antiguo 04/07/2004, 11:25
Avatar de rusoftware  
Fecha de Ingreso: abril-2004
Ubicación: Rosario - Argentina
Mensajes: 1.083
Antigüedad: 20 años, 7 meses
Puntos: 2
Gracias gentes, son muy amables...

Pulento, con respecto a lo que dices, yo creo que entonces podría llamar al "dosclip" (ver el ejemplo al principio) varias veces dándole otro nombre en vinculación! Es correcto esto, porque si es así ya lo estoy agarrando

Gracias nuevamente. Un abrazo
  #6 (permalink)  
Antiguo 04/07/2004, 12:18
Avatar de rusoftware  
Fecha de Ingreso: abril-2004
Ubicación: Rosario - Argentina
Mensajes: 1.083
Antigüedad: 20 años, 7 meses
Puntos: 2
A ver, le estube echando manos a ambos codigos...

Virtual Snake, no entendí ni "J" Perdón por mi torpeza.

Pulento, quisiera analizar lo que pusiste... Ah, por cierto, ¡Funciona! (aunque para uds no debe ser noticia

Cita:
_root.attachMovie("elNombreConElCualLoIdentificara s","nuevoNombre",nivel);
-> Quisiera que me digan cuál es el nombre que le doy al clip en la biblioteca, y cuál el que uso en "vinculación" (para que funcione, tuve que poner el mismo en ambos

"elNombreConElCualLoIdentificaras":
"nuevoNombre":

Y por último... Si el clip esta en una carpeta dentro de la biblioteca, hay que especificarla? O también es _root.attachMovie?

Gracias, y perdón por preguntar cosas tontas, pero no lo hallé en las Faq´s.
  #7 (permalink)  
Antiguo 04/07/2004, 13:21
Avatar de virtualSnake  
Fecha de Ingreso: julio-2004
Mensajes: 85
Antigüedad: 20 años, 4 meses
Puntos: 0
De acuerdo

yaw.. en primera, disculpame por mi estupidez!. lo q penze era q querias hacer un precargador desde internet, pero ahora veo que lo que querias era attachar un movie clip, y si efectivamente, como dice Pulento:

_root.attachMovie("elNombreConElCualLoIdentificara s","nuevoNombre",nivel);

pero te falta una cosilla mas.

1.- primero en cualquier frame debes poner lo siguiente:

en vez de: _root.attachMovie "elNombreConElCualLoIdentificaras","nuevoNombre",n ivel);

cambia _root por this
this.attachMovie("elNombreConElCualLoIdentificaras ","nuevoNombre",nivel);

y escribe debajo:

Xpos = elNombreConElCualLoIdentificaras._x
ypos = elNombreConElCualLoIdentificaras._y

esto creara 2 variables nuevas: Xpos y Ypos, la primera (Xpos), le dices que sea igual a la posicion de "elNombreConElCualLoIdentificaras" en cordenadas x
(osease q, la posicion de tu mc (horizontal))

y la Ypos va a ser lo mismo pero de posicion vertical. ahora
solo tienes que decir lo siguiente:

Xpos = 200
Ypos = 210

por ejemplo

nota: estos valores lo camibas a tu antojo para q tu mc sea cargado en la posicion q tu le digas ok?

2- res´pondienod a tu pregunta mira:


el nombre de vinculacion debe ser siempre igual al de tu acation script:

this.attachMovie("miNuevoMC","chingon",nivel);


miNuevoMC es el nombre q debe estar en tu vinvulacion tambien, por que ese es el q va a duplicar de tu biblioteca a tu pelicula flash, pero el nombre "chingon" es el nombre q le va a dar al duplicado de tu MC en flash, no ten tu libreria ok?

osea: miNuevoMC = MiNuevoMC(en libreria)
chingon = miNuevoMC(pero con otro nombre)
espero y me explique
suerte. asi, y no le agas caslo al primer script que te mandé, al cual no le entendiste, no tiene nada q ver con lo que quieres hacer hehe.
  #8 (permalink)  
Antiguo 04/07/2004, 22:48
Avatar de rusoftware  
Fecha de Ingreso: abril-2004
Ubicación: Rosario - Argentina
Mensajes: 1.083
Antigüedad: 20 años, 7 meses
Puntos: 2
Gracias, y mil millones de gracias a ambos

Realmente me sirve de mucho su ayuda! Gracias por el dato de como agregarles coordenadas, la verdad era que se me estaba haciendo un lío con eso.

Virtual Snake:
Con root me anda muy bién, voy a probar con this... Cuál es la diferencia? Creo que me levante muy preguntón, jejeje, pero vos tiraste la piedra

La verdad es que cuándo leía el código que pusiste en el primer mensaje, jejeje, pensé en dedicarme a lo mío y dejar esto para ustedes que son los que saben

Un abrazo grande, y muchas gracias. Fede
  #9 (permalink)  
Antiguo 05/07/2004, 02:33
Avatar de pulento  
Fecha de Ingreso: noviembre-2002
Ubicación: En un pequeño, helado, obscuro reino... llamado Dinamarca.
Mensajes: 1.852
Antigüedad: 22 años
Puntos: 1
Pues no te dasanimes....

Que al prinsipio parece todo un caos de codigo pero muy rapido le agarras el hilo, y no te daz cuenta cuando tu tambien estas respondiendo dudas de otros..!



Salu2
__________________
http://www.flotdesign.dk/
  #10 (permalink)  
Antiguo 05/07/2004, 02:44
Avatar de virtualSnake  
Fecha de Ingreso: julio-2004
Mensajes: 85
Antigüedad: 20 años, 4 meses
Puntos: 0
hey! no prob. tu pregunta cuanto quieras yo te ago el paro, en lo q sepa , y si no le investigo hehe.

presondiendo a lo de root:

veamos tu pelicula flash desde una vista de jerarquias:

primero esta tu movie (tu pelicual .swf) eso es el "root" tambien llamada raiz.

de ahi se deriva todo lo que hay: MC's, sonido, todo.

despues del root siguen sus subraices:

_root.miNuevoMC por ejemplo
y dentro se siguen dividiendo

_root.miNuevoMC.objeto

pero el this es distinto:
si tu action script esta en un frame de tu pelicula, "this" va a hacer referencia a "esto", y como estas en la pelicual, ará referencia a "_root"

si el "this" esta en un cuadro de un MC entonces ara referencia a _root.miNuevoMC

y asi susesivamente.

entonces concluimos:

al usar "_root." si tu script esta dentro de un mc o este donde este, el objeto que de attach se va a poner siempre en el root osea:

_root.clipAttachado

y al usar "this" no, si el "this" esta en la raiz)osea en el frame de tu pelicula, ara lo mismo que "_root"(por eso te funciona igual ahorita), pero si esta dentro de un MC(_root.miNuevoMC por ejemplo) el MC que vas a attachar lo pone dentro del MC "mi nuevoMC"

resultando estas 2 diferencias:

usando this en el frame de tu pelicual la direccion de tu MC es:

_root.clipAttachado

usando this dentro de un MC:
root.miNuevoMC.clipAttachado

espero y me aya explicado ,es solo cuestion de tu gusto y el proposito del MC
  #11 (permalink)  
Antiguo 05/07/2004, 09:01
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años, 6 meses
Puntos: 0
Disculpen he estado probando lo que habeis puesto.
Cuando dices:
Xpos = elNombreConElCualLoIdentificaras._x
ypos = elNombreConElCualLoIdentificaras._y

esto creara 2 variables nuevas: Xpos y Ypos, la primera (Xpos), le dices que sea igual a la posicion de "elNombreConElCualLoIdentificaras" en cordenadas x
(osease q, la posicion de tu mc (horizontal))

y la Ypos va a ser lo mismo pero de posicion vertical. ahora
solo tienes que decir lo siguiente:

Xpos = 200
Ypos = 210

¿No falta ningun ; o algo por ahi, no consigo que funcione?
  #12 (permalink)  
Antiguo 05/07/2004, 12:47
Avatar de rusoftware  
Fecha de Ingreso: abril-2004
Ubicación: Rosario - Argentina
Mensajes: 1.083
Antigüedad: 20 años, 7 meses
Puntos: 2
Hola nuevamente...

La verdad es que esto se me hacía lío y con tu explicación lo "agarre"
Ahora tengo claro la diferencia entre "_root" y "this", aunque no sepa como aplicarlos.

Entinedo entonces que lo que cargo con "_root" lo cargo a la película, y lo que cargo con "this" al clip.

Imagino que si cargo un MC ("cargado") con this desde otro MC ("cargador"), cuándo desaparezca el clip "cargador" también lo hará el otro. Y esto lo evitaría si usara _root.
Lo entendí bién?

Por otro lado, lo de la posición tampoco me anda bién, y las comas o puntos y comas NO son el problema (pasando de modo experto a normal lo corrige solito).
Tampoco la redacción del código, porque sino no te deja intercambiar modos.
Que podría ser?

Por otro lado, yo uso otro método, ya me dirán si está bién, lo comento por si sirve a "sqa212"...

En el MC a attachar, en el primer frame incluyo el código:
Cita:
setProperty ("", _x, "200");
setProperty ("", _y, "250");
El único problema es que cada vez que lo llame aparecerá en esa posición, y ya no podré cambiársela.
Es decir, aquí la posición es del MC atachado.
Y en el de Virtual Snake dependerá de cuándo lo llame. Y podría llamarlo varias veces con distintas posiciones

Gracias nuevamente por su ayuda. Un abrazo. Fede
  #13 (permalink)  
Antiguo 06/07/2004, 22:21
 
Fecha de Ingreso: febrero-2004
Ubicación: Madrid
Mensajes: 32
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola
yo tb estoy iniciando con el AS y agradezco todo tipo de ayuda de este foro :)
Tengo un par de pregutas sobre el attachMovie:

1: si yo voy attachando nuevos MC en un sitio con la intencion de que uno reemplaze a otro, ¿no deberia ir "limpiando" los MCs anteriores de alguna forma? quizas utilizando UnloadMovie o parecido?? como seria esa sentecia entonces?

2:Como le digo a un MC que cargo con attachMovie que empieze en un frame (o etiqueta) especifico??

gracias por la ayuda en ante mano.
y efectivamente, estoy esperando al dia que yo tb pueda responder a preguntas de los de mas :)

un saludo
__________________
ahora, ser buenos y beber mucha leche ;-)
  #14 (permalink)  
Antiguo 07/07/2004, 09:21
Avatar de pulento  
Fecha de Ingreso: noviembre-2002
Ubicación: En un pequeño, helado, obscuro reino... llamado Dinamarca.
Mensajes: 1.852
Antigüedad: 22 años
Puntos: 1
Cuando attachas o cargas un movie en el mismo nivel q era ocupado por otro movie ...pues el q estaba se pierde y pasa a ser remplazado por en nuevo y asi ...y asi.. y de esa manera no necesitas usar unloadMovie or removeMovie, q seria lo q deberias usar en caso de q necesites sacar un movie.
Lo cual se recomienda para q desocupe la memoria...



Salu2
__________________
http://www.flotdesign.dk/
  #15 (permalink)  
Antiguo 07/07/2004, 13:31
Avatar de rusoftware  
Fecha de Ingreso: abril-2004
Ubicación: Rosario - Argentina
Mensajes: 1.083
Antigüedad: 20 años, 7 meses
Puntos: 2
Y que me dicen de la ubicación? a Alguien se le ocurre?
  #16 (permalink)  
Antiguo 12/07/2004, 10:18
Avatar de virtualSnake  
Fecha de Ingreso: julio-2004
Mensajes: 85
Antigüedad: 20 años, 4 meses
Puntos: 0
Cita:
Iniciado por rusoftware
Imagino que si cargo un MC ("cargado") con this desde otro MC ("cargador"), cuándo desaparezca el clip "cargador" también lo hará el otro. Y esto lo evitaría si usara _root.
Lo entendí bién?
bien bine, parece qu ya le aggaraste la onda a este desmadre.

lo q no se es por q te falla el codigo pero veamos:
checa lo siguiente en tu codigo:

que
Xpos = elNombreConElCualLoIdentificaras._x
ypos = elNombreConElCualLoIdentificaras._y
esten primero que

Xpos = 200
Ypos = 200

y que " elNombreConElCualLoIdentificaras" este igual en el attachMovie (attachmovie("nombre desde tu biblioteca","elNombreConElCualLoIdentificaras")

por q sino pos no va a saber a quien decirle lo de ._x
y ademas el attach deve ir arriba de todo
por lo que tu codigo final debe ser:

this.attachMovie("nombreDesdeLaBiblioteca","elNomb reConElCualLoIdentificas","prfundidadEnNumeros");
Xpos = elNombreConElCualLoIdentificaras._x
Ypos = elNombreConElCualLoIdentificaras._y
Xpos = 200
Ypos = 200

si no te funciona checa que lo ayas escrito bien que Xpos este igual en las dos variables, por q quisa escribiste en una con minuscula y en otra con mayuscula y ya le diste en la "m" checale y me dices
  #17 (permalink)  
Antiguo 13/07/2004, 11:45
Avatar de rusoftware  
Fecha de Ingreso: abril-2004
Ubicación: Rosario - Argentina
Mensajes: 1.083
Antigüedad: 20 años, 7 meses
Puntos: 2
ok, lo veo y te aviso... Gracias nuevamente. un abrazo
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 22:44.