Comunidad de diseño web y desarrollo en internet online

hacer una parada de x segundos en un alpha mediante AS

Citar            
MensajeEscrito el 07 Jul 2005 05:08 pm
Hola a todos;
Tengo hecho una alpha en un clic y queria hacerle una parada d X segundos cuando el alpha sea 100 antes de que empiece a disminuir otra vez, tengo el código pero no me lo pilla, pasa de mi y no hace la parada ¿deberia de ponerlo justo después del "else" no?, probe a meterlo en una función y llamarla pero nunca me hace la parada. a lo mejor el codigo de la parada esta mal. si me pudierais aconsejar os lo agradecería, gracias.

Código :

onClipEvent (load) {
        var visible = 1;
        var cant = 0;
}

onClipEvent (enterFrame) {
        if (visible == 1) {
                _alpha = cant;
                cant += 4;
                if (cant == 100) {
                        visible = 0;
                }                     
            
        } else {
            _alpha = cant;
            cant -= 4;
        }
}


el codigo de la parada que tengo es:

Código :

stop();
segundos = 5;
espera = function () { 
    play();
    clearInterval(a);
}
a = setInterval(espera, segundos*1000);


saludos.

Por LinosInk

36 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 08 Jul 2005 09:17 am
probe a meter el código de parar en una function y luego llamarla desde el clic pero no me hace la parada

Código :

function parar(){ 
   stop();
   segundos = 5;
   espera = function () { 
       play();
       clearInterval(a);
   }
   a = setInterval(espera, segundos*1000);
}


luego la llamo desde el clic:

Código :

this._parent.parar;
le puse un trace para probar y pilla la función pero no hace la parada. a la función la llamo justo después del "else"

Por LinosInk

36 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 08 Jul 2005 11:38 am
alguna sugerencia del código por favor es que no se por donde cogerlo, busque en las faq's y por internet y lo único que encontre fue eso. no se bien como funciona la función "setinterval y clearinterval" sino intentaría modificarlo.

gracias, saludos.

Por LinosInk

36 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 08 Jul 2005 03:02 pm
linos

mira solo coloca este codigo en el primer frame de tu pelicula y cambia m por el nombre de instancia

del mc y te funcionara (probado) en mx

Código :

function desvanece(i){
   m.onEnterFrame =  function() {
      m._alpha+=i ;      
      if ((m._alpha >100 ) or (m._alpha <0))
      {
         t = setInterval(
                     function(){desvanece(-i);clearinterval(t)},3000) 
         delete this.onEnterFrame;
         }
      
   }   
}
i=-5;
desvanece(i)


saludos bye

preguntas en el modulo de atencion por favor XD

Por FeNtO

BOFH

5091 de clabLevel

18 tutoriales

1 ejemplo

  Bastard Operators From Hell

FeNtO DataCenter

clabbrowser
Citar            
MensajeEscrito el 08 Jul 2005 05:16 pm
gracias p el código fento, es lo q estaba intentando hacer, una única pregunta:

tal como esta el código hace una pausa antes de cargar y luego otra entre alpha 0 y 100, para que sólo haga la parada entre los alphas , ¿¿modifico la condición del if no??

gracias de nuevo.

Por LinosInk

36 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 08 Jul 2005 06:02 pm
:? mi no entiendo

si lo que quieres es que solo lohaga en una parte pues verifica las condiciones y no llames al seti interval solo llama a la funcion sola

saludos bye :D

Por FeNtO

BOFH

5091 de clabLevel

18 tutoriales

1 ejemplo

  Bastard Operators From Hell

FeNtO DataCenter

clabbrowser
Citar            
MensajeEscrito el 11 Jul 2005 09:07 am
Hola de nuevo fento;

como esta el código, nada mas carga el flash hace una parada de 3 seg. luego hace el alpha de 0 a 100, hace otra parada de 3 seg. y hace un alpha de 100 a 0.

queria quitarle la parada de 3 seg. que hace al principio. no se si me explique mejor. estuve intentando modificar la función de setinteval pero lo único que consigo es q no me funcione.

Gracias.

Por LinosInk

36 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 11 Jul 2005 04:18 pm
si alguien me puede ayudar, intente hacer dos condiciones en vez de una, poner un intervalo a 0 y luego otro de 2,

en cuanto lo modifico se jode, no se como hacer para que no me haga el setinterval al principio.

Por LinosInk

36 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 11 Jul 2005 04:37 pm
:?

aver explicame paso por paso por favor

analiza un poquitin el codigo no esta muy complejo y adecualo a tus necesidades, si no te sale analiza bien qu ees lo que quieres y postealo , ycomo inicias el mc, en qu enumero de alpha lo tienes

saludos :D

Por FeNtO

BOFH

5091 de clabLevel

18 tutoriales

1 ejemplo

  Bastard Operators From Hell

FeNtO DataCenter

clabbrowser
Citar            
MensajeEscrito el 11 Jul 2005 04:47 pm
El código lo pongo en el primer frame, como sigue (puse tal cuál el código que me diste en el anterior post)

Código :

system.useCodepage = true;
p1.loadMovie("archivos/p1.jpg");

onEnterFrame=function() {      
   if(p1._width!=0){
   p1._width=210;
   p1._height=140;
   onEnterFrame=null;
   }
   
}

function desvanece(i){ 
   p1.onEnterFrame =  function() { 
      p1._alpha+=i ;
     
      if ((p1._alpha >100 ) or (p1._alpha <0)) 
      { 
         t = setInterval( function(){desvanece(-i);clearinterval(t)},2000) 
         delete this.onEnterFrame; 
         } 
     
   }

}

i=-4;
desvanece(i)


funciona perfectamente, lo que pasa que según esta cuando se carga el .swf hace una parada de 2 seg, luego un alpha de 0 a 100, otra parada de 2 seg. y luego un alpha de 100 a 0.

lo que necesitaba que hiciese era que cuando se carga el .swf ya empiece el alpha de 0 a 100, sin que me haga esa parada de 2 seg. al principio pero si manteninedo la otra parada.

intente modificarlo pero en cuanto le meto mano no se que hago que no me hace nada.

Gracias p tdo.

Por LinosInk

36 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 11 Jul 2005 04:54 pm
y si pruebas poniendo el alpha del mc a 0 cuando cargas y poniendo 4 en lugar de -4 a i y no modifiques mi codigo

prueba y me avisas

saludos

Por FeNtO

BOFH

5091 de clabLevel

18 tutoriales

1 ejemplo

  Bastard Operators From Hell

FeNtO DataCenter

clabbrowser
Citar            
MensajeEscrito el 11 Jul 2005 05:01 pm
si pongo i=4 no hace nada, no carga la imagen ni hace el alpha.

saludos

Por LinosInk

36 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 25 Nov 2005 08:16 am
Llevo tiempo detras de este efecto pero no consigo llevarlo a cabo,alguien que me ayude porfavor??

Por lokomase

35 de clabLevel



Genero:Masculino  

Reus tgn

msie
Citar            
MensajeEscrito el 26 Nov 2005 01:28 am
hola no tengo mucha experiencia en AS es por eso que doy una solucion rudimentaria.
el problema lo divido en dos incremetar alfa y decrementar alfa despues de incremetado solo pido que se tarde en llamar la funcion desaparecer()

espero se de utilidad

codigo para el primer frame con mc (imagen)

Código :

a=1;            //empieza a incremntar  alfa desde 1
b=100;            //empieza decremetar alfa desde 100

// se utilzan dos  funciones aparece y desaparece
// 
imagen.onEnterFrame =function()
{
if (a<=100){
aparece();                
}
else{ setInterval( desaparece,5000);  // 5000 miliseg permanece la imagen
}
   }


function aparece(){

   if (a<=100){
   imagen._alpha=a;
   a+=2;            // rapidez de cambio del alfa  incrementandose
   
   trace("alfa+="+a);
   }
   }


function desaparece(){

   if (b>=0){
   imagen._alpha=b;
   b-=2;            // rapidez de cambio del alfa  decrementandose
   
   trace("alfa-=" + b);
   }
}


saludos

Por arrobawebmx

33 de clabLevel



Genero:Masculino  

México df

msie
Citar            
MensajeEscrito el 26 Nov 2005 08:31 am

Código :

var fadeIn:Function = function (mc) {
   var speed:Number = 10;
   if (mc._alpha>=100) {
      clearInterval(id);
      id = setInterval(fadeOut, 2000, mc);
   } else {
      mc._alpha += speed;
   }
};
var fadeOut:Function = function (mc) {
   var speed:Number = 10;
   mc._alpha<=0 ? clearInterval(id) : mc._alpha -= speed;
   trace("HOLA");
};
var fade:Function = function (mc) {
   mc._alpha = 0;
   id = setInterval(fadeIn, 100, mc);
};
fade(mc);


Si te entendí bien quieres:

PRimero alpha de 0 a 100

Esperar 2 segundos

Alpha de 100 a 0

Si es así, he hecho bien el código, y esa debería ser la respuesta buscas

Salu2, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 27 Nov 2005 06:07 pm
hola, si necesitas una pausa, este codigo te puede ayudar, es el que yo uso para hacer pausas y me funciona perfectamente:

Código :

numSeg = 4;
stop();
tiempo = Math.round(getTimer()/1000);
this.createEmptyMovieClip("loop_mc", this);
loop_mc.onEnterFrame = function(){
tiempoActual = Math.round(getTimer()/1000);
if((tiempoActual - tiempo) > numSeg){
trace("Paso al frame 2.");
gotoAndStop(2);
}
}


solo adaptalo para que te funcione como lo necesitas.

saludos

Por julio archila

19 de clabLevel



Genero:Masculino  

Guatemala

opera
Citar            
MensajeEscrito el 28 Nov 2005 02:32 pm
Gracias a to2 lo provare y a ver que pasa.

Por lokomase

35 de clabLevel



Genero:Masculino  

Reus tgn

msie

 

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