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

Avanzar varios frames y luego ir a uno concreto: Ayudenme.

Estas en el tema de Avanzar varios frames y luego ir a uno concreto: Ayudenme. en el foro de Flash y Actionscript en Foros del Web. Hola a todos, llevo unos meses aprendiendo por mi cuenta flash y esto del código de momento me cuesta. Me gustaría saber cómo puedo hacer ...
  #1 (permalink)  
Antiguo 27/03/2009, 22:41
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 8 años, 8 meses
Puntos: 0
Avanzar varios frames y luego ir a uno concreto: Ayudenme.

Hola a todos, llevo unos meses aprendiendo por mi cuenta flash y esto del código de momento me cuesta. Me gustaría saber cómo puedo hacer para que después de pulsar un botón, la película reproduzca los 10 frames siguientes y después de esto se dirija a un frame concreto que le indique y se reproduzca.

Por ejemplo: estoy en el frame 20. Hago click en un boton. Se reproduce del 20 al 30 y cuando llega a este último pasa al frame 50 y se reproduce de este último en adelante.

Espero haberme explicado bien para así facilitaros las cosas.

Muchas gracias y un saludo a todos.
  #2 (permalink)  
Antiguo 27/03/2009, 23:05
Avatar de Wizart  
Fecha de Ingreso: noviembre-2008
Mensajes: 42
Antigüedad: 9 años
Puntos: 0
Respuesta: Avanzar varios frames y luego ir a uno concreto: Ayudenme.

Pues lo primero es tener un stop en el 20 supuestamente donde tienes el boton, entonces al boton le das:

on (press) {
gotoAndPlay(21);
}

Esto hará que vaya del 21 al 30 donde pondrás otro stop y en el mismo fotograma 30 (en el frame) le pones esto:

gotoAndPlay(50);

Y ya está.
  #3 (permalink)  
Antiguo 27/03/2009, 23:49
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Avanzar varios frames y luego ir a uno concreto: Ayudenme.

Gracias por tu respuesta Wizart, pero no me sirve. Me explico:

Imagínate una página con 4 secciones: Empresa, servicios, trabajos y contacto.

Digamos que cada sección tiene su presentación (la llamaré entrada) y su despedida (salida). Cada una constará de 10 frames.

Entonces situamos "empresa" en el fotograma 20 (con su correspondiente stop), por lo tanto su entrada irá del fotograma 9 al 19 y su salida del 21 al 31.

Vale pues lo que yo quiero es que estando en la sección de empresa, pueda darle al botón de contacto, se reproduzca la salida de 10frames de empresa y de ahí salte a la entrada de contacto (que comenzaría en el fotograma 50 y por lo tanto la sección de contacto estaría en el 61).

Es complicado explicarse cuando se trata de esto pero creo ke más o menos queda claro.

Última edición por Gi7mo; 27/03/2009 a las 23:55
  #4 (permalink)  
Antiguo 28/03/2009, 05:56
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 10 años
Puntos: 51
Respuesta: Avanzar varios frames y luego ir a uno concreto: Ayudenme.

esto te podría servir te explico como hacerlo

Código PHP:
function FinDEAnima(MCfun) {
    var 
ControlFrame this.createEmptyMovieClip("Ani"+MC._namethis.getNextHighestDepth());
    
ControlFrame.onEnterFrame = function() {
        if (
MC._currentframe == MC._totalframes) {
            
fun()
            
this.removeMovieClip();
        }
    };

primero tendrías que indicar en una variable en sección estas ,asi que de esa manera cada ves que le des clik a un boton este sepa que sección tiene que cerra, también abría que modificar el código de arriba,

Código PHP:
var secciones:MovieClip
var FuncionFinal:Function
function 
FinDEAnima(MCfun,frame) {
    
MC.gotoAndPlay(frame)
    var 
ControlFrame this.createEmptyMovieClip("Ani"+MC._namethis.getNextHighestDepth());
    
ControlFrame.onEnterFrame = function() {
        if (
MC._currentframe == MC._totalframes) {
            
fun()
            
this.removeMovieClip();
        }
    };
}
botonContacto.onRelease=function(){
    
//en esta variable se coloca las funciones que quieras que se ejecuten cada ves que una animacion especifica termine 
    
FuncionFinal=function(){
        
//aquí colocas el código que te lleve a la sección de contacto 
        //también tienes que colocar el nombre de la sección a la que te diriges en la variable secciones
        
secciones=contacto
    
}
    var 
FrameDeSalida=21 //este es el frame donde iniciara la animación de salida en tu caso seria el 21
    
FinDEAnima(seccionesFuncionFinalFrameDeSalida)
    
}

botonServicios.onRelease=function(){
    
FuncionFinal=function(){
        
secciones=servicios
    
}
    var 
FrameDeSalida=21 
    FinDEAnima
(seccionesFuncionFinalFrameDeSalida)
    
}
botonTrabajos.onRelease=function(){
    
FuncionFinal=function(){
        
secciones=trabajos
    
}
    var 
FrameDeSalida=21 
    FinDEAnima
(seccionesFuncionFinalFrameDeSalida)
    
}
botonEmpresa.onRelease=function(){
    
FuncionFinal=function(){
        
secciones=empresa
    
}
    var 
FrameDeSalida=21 
    FinDEAnima
(seccionesFuncionFinalFrameDeSalida)
    

__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #5 (permalink)  
Antiguo 28/03/2009, 09:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Avanzar varios frames y luego ir a uno concreto: Ayudenme.

Hombre, un paisano, yo tb soy de murcia XD. Tengo que agradecerte tu respuesta, pero me temo ke estoy un poco verde en el tema del código y se me keda un poco grande lo que me has puesto. Lo cierto es ke lo ke yo busco es algo mucho más simple (si es ke se puede hacer).

Necesito simplemente las acciones ke debería darle al botón. El código debería ser algo así:

(Lo que voy a escribir es una mezcla entre el código que pienso que debe ponerse y lo que me gustaría que ocurriese XD)

on (release) {
reproducir 10frames y después gotoAndPlay(X);

}

Lo que ocurre es ke no se como hacer eso en código, me faltan conocimientos. Si sabe alguién como hacerlo le estaría muy agradecido.

Un saludo.
  #6 (permalink)  
Antiguo 28/03/2009, 19:10
Avatar de ¬...  
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 742
Antigüedad: 14 años
Puntos: 4
Respuesta: Avanzar varios frames y luego ir a uno concreto: Ayudenme.

una forma sencilla en que podes hacer eso es..

en el 1er frame en una nueva layer, estas acciones:

gotoArea=function(wicharea){
if(wicharea!=currentarea){
play();
goingto=wicharea;
}
}

a los botones de las areas suponiendo que son 3 areas:

on(release){
gotoArea("area1");
}

al boton que va al area 2:

on(release){
gotoArea("area2");
}

y al tres pues tres

on(release){
gotoArea("area3");
}

en la layer nueva donde dejaste la funcion gotoArea pone esta accion en un keyframe en blanco en el frame donde el area 1 esta quieta o llega a su posicion visible al usuario:

stop();
if(goingto=="area1"){
currentarea="area1";
stop();
}

ahora en esta layer de acciones en el frame donde termina la animacion de salida del area 1 estas acciones:

if(goingto=="area2"){
gotoAndPlay(21);
}
if(goingto=="area3"){
gotoAndPlay(41);
}

ahora en el frame donde el area 2 esta visible (siempre en la layer de acciones:

if(goingto=="area2"){
currentarea="area2";
stop();
}

y al final de la animacion:

if(goingto=="area1"){
gotoAndPlay(1);
}
if(goingto=="area3"){
gotoAndPlay(41);
}

para el tres lo mismo en el frame donde es visible osea si la animacion de entrada y salida es de izquierda a derecha en el frame donde el objeto este en el centro pone esta accion

stop();
if(goingto=="area3"){
currentarea="area3";
stop();
}

y al final de la animacion de salida:

if(goingto=="area2"){
gotoAndPlay(21);
}
if(goingto=="area1"){
gotoAndPlay(1);
}

no creo que se entienda mucho pero subi el .fla y el .swf para que lo entendas mejor, lo subi a un server de un amigo, no va a estar por mucho tiempo el archivo , avisame cuando lo hayas bajado para borrarlo gracias

http://www.warex3d.com/pedro/playing_specific_case.zip
__________________
'_'

...
  #7 (permalink)  
Antiguo 28/03/2009, 22:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Avanzar varios frames y luego ir a uno concreto: Ayudenme.

Muchísimas gracias, ahora mismo voy a probarlo, ya me he bajado el archivo así ke ya lo puedes borrar. Es exactamente lo ke necesitaba, voy a ver si consigo hacer ke funcione. En cuanto lo haya probado te digo ke tal me ha ido. Gracias de nuevo.

-----Edito:

Probado y conseguido, ¬... eres un auténtico crack! De nuevo te doy la gracias xq te has currado la respuesta de una manera increíble. Todo ha sido gracias al archivo, xq así he podido ver y comprender como utilizabas el código. Esto del flash es impresionante, espero poder dominar el código con tanta facilidad y así ser yo el ke saque a alguien de un apuro XD.

Un saludo.

Última edición por Gi7mo; 28/03/2009 a las 22:33
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:13.