Abrir peli en un fotograma en concreto
4 seguidores
Hola, estoy montando un flash bastante pesado, con lo que lo tengo dividio en varias peliculas, que las voy cargando en niveles segun las voy necesitando.
Hasta ahi todo bien, pero como abro una pelicula en un fotograma y/o rotulo en concreto, como si fuese una variable?
on (release) {
unloadMovieNum(2);
loadMovieNum("txt_edi_mapas.swf", 3,"pestaña1");
}
kkt
txuma Plus
klein
Cuidado con el if que les estás asignando un valor en lugar de hacerlo condicional. Es decir, tienes que poner
if(c==1) en lugar de if(c=1)[/code]
Perdon, kkt, tiene razón mariano, que al picar el código aquí me he colado en ese detalle tan simple !!! :oops:
klein
Cuidado con el if que les estás asignando un valor en lugar de hacerlo condicional. Es decir, tienes que poner
if(c==1) en lugar de if(c=1)[/code]
kokito
Probe de las dos formas:
1. Poniendo el codigo en un movieclip vacio que esta en la misma pelicula del boton
2. Poniendo el codigo en el frame donde se para la pelicula del boton tambien.
y nada.
kkt
txuma Plus
Entiendo que el código del botón no tiene problema. ¿Dónde estás pegando el otro trozo de código (el que controla la precarga y te envía al fotograma) ?
kokito
Sorry, no te puse todo el codigo antes, pero si si, puse todo y tal como tu me lo escribistes, es mas hice un copy-paste. Incluso puse un cargador en la pelicula por si era ese el problema, y aun asi no me sale.
Lo siento >:-<.
kkt.
txuma Plus
a ver que nos liamos.... efectivamente la peli tiene que estar cargada, por eso en el código que te puso había un control de precarga antes de enviarte al fotograma concreto:
<code>this.onEnterFrame = function() {
a = _level1.getBytesLoaded();
b = _level1.getBytesTotal();
c = a/b;
if (c = 1) {
_level1.gotoAndStop(_root.x);
}
}</code>
Yo lo he probado y funciona.... pero no te voy a mandar el .fla (chincha, rabia....) porque así te lo curras tu y seguro que para otra no se te olvida :D
joshuatree
El anterior post es de miss kokito, como podran darse cuenta. Yo no se de q diablos habla XDDD
joshuatree
Pues yo no es por dar por saco, pero no consigo que me salga.
Si la pelicula ya esta desacargada (ej nivel 1), este en el nivel que este, si puedo manejarla y mandarla al frame/label que quiera, pero si primero tengo que descargarla y despues mandarla a un frame(ej nivel 2), hay ya no me deja.
<code>on(release){
_level1.gotoAndPlay(29)
loadMovie("mapas.swf", 2)
_level2.gotoAndPlay(50)
}</code>
kkt
Usuario desconocido
joder txuma, pedazo manual, yo intente hacer esto pasar de un swf a otro en frame en concreteo mediante variables y lo tube que dejar me volvio loco, y no sauqe nada, con este tutorial igual me lo vuelvo a plantear, solo una duda y si el frame a cargar está en la scena 2 porque en la primera hay un preload, y solo quieres que este se vea una vez?, es por abusar de tu sabiduria, jejeje
kokito
Es que yo por mas que le daba vueltas, no sabia de donde te habias sacado el movieclip, y eso que tengo el manual de macromedia aqui a mano, y yo decia, si es que yo no tengo ningun mc.
eso son truquillos de perro viejo, :D
De todas formas aqui tengo un ejemplo de lo que estoy haciendo, para que lo veas, aunque esas es la ultima version y he hecho muchos cambios, pero para que te hagas una idea de porque tantas popups, nuevas pelis y demas:
http://www.es-emoticon.com/tiendaverde2004/
y te vas a mapa de españa, ese es el flash que estoy haciendo para este portal
kkt[/url]
txuma Plus
Una pequeña rectificación/mejora: si tienes la película parada en ese punto también puedes añadir el código de comprobación en el propio fotograma de este forma:
<code>
this.onEnterFrame = function() {
a = _level1.getBytesLoaded();
b = _level1.getBytesTotal();
c = a/b;
if (c = 1) {
_level1.gotoAndStop(_root.x);
}
}</code>
y así no tienes que tener un clip que te haga la comprobación.
Espero que te funcione ;)
txuma Plus
Bueno, se me olvidaba recomendarte que le pongas un preloading a la peli que estas cargando ;)
txuma Plus
jejeje... tranquila mujer, que pa eso estamos :P
A ver, en el botón tienes que cargar la peli y guardar en una variable el fotograma al que quieres ir:
<code>
on (release) {
loadMovieNum ("pelicula.swf", 1);
x = 15;
}
</code>
En la escena puede poner un movieclip vacio que te sirva para hacer la comprobación. A ese clip le asignas la acción que necesitas. Sería algo así:
<code>onClipEvent (enterFrame) {
a = _level1.getBytesLoaded();
b = _level1.getBytesTotal();
c = a/b;
if (c = 1) {
_level1.gotoAndStop(_root.x);
}
}</code>
Y ya está ;)
kokito
<code>
onClipEvent (enterFrame) {
if (getBytesLoaded() = getBytesTotal()) {
_level1.gotoAndStop(X);
}
}
</code>
Si te he entendido bien, en el boton pones el loadMovie, y en la peli que cargas pones esto. Si es asi, siempre que cargues la peli, se ira al frame que le has puesto, no deberias poner esta accion en el boton, para que depende del boton que uses, la peli se vaya a un sitio u otro.
Yo voy ha aprender mucho, pero tu vas a terminar hasta el gorro de mi, :D.
kkt.
kokito
Claro, ese era el problema que tenia, que se con el loadMovie, le dices que se cargue, y con este le dices que una vez cargado se ponga en el frame que tu le dices.
ok, entendido, voy a ver.
kkt.
txuma Plus
No, así no.... yo lo que digo es que compruebes cuándo se termina de cargar la peli y entonces des la orden. Sería algo así:
<code>
onClipEvent (enterFrame) {
if (getBytesLoaded() = getBytesTotal()) {
_level1.gotoAndStop(X);
}
}
</code>
Recuerda que esta acción no se le aplica al botón sino el movieclip ;)
Salu2
kokito
La verdad es que el flash se me esta complicando tanto, que ya necesito de las dos cosas que me has explicado:
-Del primer caso, esta todo ok, pero tengo un problema, y es:
<code>
on (release) {
_level1.gotoAndPlay(30);
loadMovie("txt/txt_edi_mapas.swf", 2);
_level2.gotoAndPlay(39);
}
</code>
es asi como tu me dices que lo haga, porque algo estoy haciendo mal porque no sale.
Es decir, 1º le digo con loadMovie que se carga esa peli y en el nivel2, y luego le digo que la peli del nivel2, se vaya al frame 39, no?
kkt
txuma Plus
Lo que quieres hacer no es lo que yo entendía en la primera pregunta ;)
A ver, si que es posible lo que quieres hacer. Tienes que comunicar el HTML y el Flash. Es decir: el botón lanza un nuevo documento HTML que contiene la otra peli, verdad? Bien, pues a través del botón le tendrás que pasar al nuevo documento algun parametro que nos sirva para indicar el punto concreto al que quiere ir. La peli flash dentro de ese nuevo documento tendrá que 'recoger' ese parametro de algún modo y mediante una condicion llevar el 'cabezal' hasta un punto concreto.
Kadazuro tenía un tutorial que hacía algo parecido y tal vez te pueda ayudar: http://kadazuro.com/tutoriales/html_to_flash/tu_movie.html
Un saludo ;)
kokito
Sigo con la misma historia, aunque ya he descubierto el problema, y es mas complejo que lo que yo pregunte en un principio, y es el siguiente:
Tengo que abrir una pelicula en una popup, y segun con que boton la abra, esa pelicula empezara en un fotograma y otro. Creo, si alguien no me explica otra forma, que no podre manejar esa pelicula al no estar dentro de la pelicula principal, puesto que se abre en una popup, y no en un nivel como habia dicho en el primer post.
Gracias, kkt.
kokito
Hola txuma, la verdad es tu solucion me ha parecido sencilla y a primera vista aplicable y que encima cuandre, pero cuando he llegado a casa y he visto como era el script que tenia en el boton del flash, para que me abra una popup que contengo una peli, y que esta empiece en el fr=20, pues como que se me ha descolocado todo, y no sabia donde ponerlo. Te pongo el script que tengo en dicho boton:
<code>on (release) {
Movieclip.prototype.openWin14 = function(url, winName, w, h, toolbar, location, directories, status, menubar, scrollbars, resizable) {
getURL("javascript:var myWin14; if(!myWin14 || myWin14.closed){myWin14 = window.open('"+url+"', '"+winName+"', '"+"width="+w+", height="+h+", toolbar="+toolbar+", location="+location+", directories="+directories+", status="+status+", menubar="+menubar+", scrollbars="+scrollbars+", resizable="+resizable+", top='+0+', left='+0+'"+"')} else{myWin14.focus();};void(0);");
};
address = "mapas/popup_50.htm";
winName = "window14";
width = 585;
height = 600;
toolbar = 0;
location = 0;
directories = 0;
status = 0;
menubar = 0;
scrollbars = 0;
resizable = 0;
openWin14(address, winName, width, height, toolbar, location, directories, status, menubar, scrollbars, resizable);
}</code>
He probado a poner FOTOGRAMA, como variable, pero no sale, igual a ti se te ocurre algo.
Gracias, kkt.
Otra cosa, con la solucion que tu me has dado, el _level1.gotoandstop(x), donde iria, debajo del loadmovie, o ....?
txuma Plus
Sigo con mi monólogo particular ;)
He probado la opción 2 y funciona. El botón carga la película A en un nivel y asigna un valor a una variable (x=10), donde x es el fotograma al que quieres ir. Por otro lado compruebo que la película A se ha cargado y cuando finaliza esa carga hago el _level1.gotoAndStop(x).
Y funciona ;)
txuma Plus
De todo modos, y ahora que lo pienso un poco más, no sería tan complicado ni enrevesado. Podrías hacer que cargase la pelicula y que cuando acabase de cargar se fuese al fotograma concreto con un _level1.gotoAndStop (x);
¿Lo entiendes?
txuma Plus
A lo mejor hay una solución más profesional, pero se me ocurre que puedes pasar una variable, de tal forma que en el primer fotograma de la peli que carga compruebas el valor de esa variable y mandas la linea de tiempo a un fotograma concreto.
Ojo, que es un pensamiento en voz alta, no he probado si funciona bien.
Si tengo un segundín lo pruebo y te digo.