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

problemas en una secuencia alpha

Estas en el tema de problemas en una secuencia alpha en el foro de Flash y Actionscript en Foros del Web. Hola foros, haber si alguien puede echarme un cable. Tengo una serie de MC que les doy un efecto alpha para que aparezcan y desaparezcan ...
  #1 (permalink)  
Antiguo 15/11/2007, 04:17
 
Fecha de Ingreso: febrero-2007
Ubicación: Mollerussa
Mensajes: 99
Antigüedad: 17 años, 9 meses
Puntos: 1
problemas en una secuencia alpha

Hola foros, haber si alguien puede echarme un cable.
Tengo una serie de MC que les doy un efecto alpha para que aparezcan y desaparezcan gradualmente mientres dure la pelicula.
El problema es que al cabo de unas cuantas secuencias desaparecen

ACCIONES
en el fotograma
mc_sunombre.alfa = 8;

EN el MC
onClipEvent (enterFrame) {
_alpha += alfa;
if (_alpha<10) {
alfa *= -1;
}
if (_alpha>100) {
alfa *= -1;
}
}

Lo curioso es que si al valor alfa le otorgo 10 "parece" que se mantenga. Alguien sabe que le pasa?
  #2 (permalink)  
Antiguo 15/11/2007, 05:21
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 20 años, 4 meses
Puntos: 12
Re: problemas en una secuencia alpha

En vez de multiplicar por -1 asígnale el valor correspondiente en cada condicional (8 ó -8). Es posible que en algún momento _alpha llegue a 1 (por ejemplo) que es menor que 10, cambie el signo de alpha y le sume 8. Entonces es igual a 9, que vuelve a ser menor que 10,...
De paso puedes eliminar las acciones de fotograma y dejarlas todas en acciones de mc:
Código:
onClipEvent (load) {
   alpha = 8;
}
onClipEvent (enterFrame) {
   _alpha += alfa;
   if (_alpha<10) {
      alfa *= 8;
   }
   if (_alpha>100) {
      alfa *= -8;
   }
}
No sé si te habrá solucionado algo...

Saludos!
__________________
Los ignorantes se empeñan en enseñar. Los sabios en aprender.
SourceForge
  #3 (permalink)  
Antiguo 15/11/2007, 05:45
 
Fecha de Ingreso: febrero-2007
Ubicación: Mollerussa
Mensajes: 99
Antigüedad: 17 años, 9 meses
Puntos: 1
Re: problemas en una secuencia alpha

Hola Mahalo,
No hay manera a los tres alfas desaparece.
  #4 (permalink)  
Antiguo 15/11/2007, 07:23
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 20 años, 4 meses
Puntos: 12
Re: problemas en una secuencia alpha

Pues tu caso es un expediente X porque lo he tenido dos minutos funcionando sin dar problemas.
__________________
Los ignorantes se empeñan en enseñar. Los sabios en aprender.
SourceForge
  #5 (permalink)  
Antiguo 15/11/2007, 09:17
 
Fecha de Ingreso: febrero-2007
Ubicación: Mollerussa
Mensajes: 99
Antigüedad: 17 años, 9 meses
Puntos: 1
Re: problemas en una secuencia alpha

cada vez lo entiendo menos. He hecho una prueba copiando integro tu codigo y aplicandolo en un clip nuevo y en una peli nueva (con la correccion inicial de alpha=8 por alfa=8) dos golpes y adios. No lo entiendo, la verdad es que no lo entiendo.
De todas maneras gracias
  #6 (permalink)  
Antiguo 15/11/2007, 09:39
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 11 meses
Puntos: 5
Re: problemas en una secuencia alpha

Prueba si quieres de colocar este código en la pelicula que contiene los clips de película que quieres que esten apagándose y encendiéndose, o sea en una capa codigo, a ver si te funciona, es un intervalo en realidad:

Opción 1:
Código PHP:
var incAlpha:Number=-5//paso de alfa
var intervalId:Number;
var 
duration:Number 50// pon cada cuantos milisegundos quieres que haga un paso de alfa

function executeCallback():Void 
{    
    var 
clips:String "nombreclip1,nombreclip2";
    var 
arrayClips:Array = clips.split(",");
    for(
l=0;l<arrayClips.length;l++)
    {
        
trace(eval(arrayClips[l])._alpha)
        if(eval(
arrayClips[l])._alpha>100)
        {
            eval(
arrayClips[l])._alpha=100;
            
incAlpha=-incAlpha;
        }
        if(eval(
arrayClips[l])._alpha<0)
        {
            eval(
arrayClips[l])._alpha=0;
            
incAlpha=-incAlpha;
        }
        eval(
arrayClips[l])._alpha+=incAlpha;
    }
}

function 
beginInterval():Void 
{
    if(
intervalId != null
    {
        
clearInterval(intervalId);
     }
    
actual=0;
     
intervalId setInterval(this"executeCallback"duration);
}
beginInterval() 
__________________________________________________ __________________________________________________ ____________________

Opción 2:
Tambien puedes usar esto en una capa código:
Código PHP:
var incAlpha:Number=-5//paso de alfa
var intervalId:Number;
var 
duration:Number 50// pon cada cuantos milisegundos quieres que haga un paso de alfa
alfa=100;
function 
executeCallback():Void 
{    
    if(
alfa>100)
    {
        
alfa=100;
        
incAlpha=-incAlpha;
    }
    if(
alfa<0)
    {
        
alfa=0;
        
incAlpha=-incAlpha;
    }
    
alfa+=incAlpha;
}

function 
beginInterval():Void 
{
    if(
intervalId != null
    {
        
clearInterval(intervalId);
     }
    
actual=0;
     
intervalId setInterval(this"executeCallback"duration);
}
beginInterval() 
y luego poner en el código de cada clip:
Código PHP:
onClipEvent (enterFrame) {
    
_alpha=_parent.alfa;

__________________________________________________ __________________________________________________ ____________________

Opción 3:
También puedes puedes usarlo dentro de cada clip en una capa de acciones en vez de en el clip padre:
Código PHP:
var incAlpha:Number=-5//paso de alfa
var intervalId:Number;
var 
duration:Number 50// pon cada cuantos milisegundos quieres que haga un paso de alfa


function executeCallback():Void 
{    
    if(
_alpha>100)
    {
        
_alpha=100;
        
incAlpha=-incAlpha;
    }
    if(
_alpha<0)
    {
        
_alpha=0;
        
incAlpha=-incAlpha;
    }
    
_alpha+=incAlpha;
}

function 
beginInterval():Void 
{
    if(
intervalId != null
    {
        
clearInterval(intervalId);
     }
    
actual=0;
     
intervalId setInterval(this"executeCallback"duration);
}
beginInterval() 
A ver si alguna te sirve

Salu2 ;)
__________________
[+]
[+]

Última edición por yoseman; 15/11/2007 a las 10:03
  #7 (permalink)  
Antiguo 15/11/2007, 10:11
 
Fecha de Ingreso: febrero-2007
Ubicación: Mollerussa
Mensajes: 99
Antigüedad: 17 años, 9 meses
Puntos: 1
Re: problemas en una secuencia alpha

lo siento pero tampoco. Empieza ha hacer cosas raras. Funciona si solo pongo un MC pero con todos no.
Gracias
  #8 (permalink)  
Antiguo 15/11/2007, 10:16
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 11 meses
Puntos: 5
Re: problemas en una secuencia alpha

Qué raro, a mi tb me funcionan todas esas...

Y asi ?

Código PHP:
onClipEvent (load) {
   
alfa 8;
}
onClipEvent (enterFrame
{
    
trace((this._alpha))
    if (
this._alpha<0
    {
        
alfa =-alfa
    
}
    if (
this._alpha>=100
    {
      
alfa =-alfa
    
}
    
this._alpha += alfa;

__________________
[+]
[+]
  #9 (permalink)  
Antiguo 16/11/2007, 09:30
 
Fecha de Ingreso: febrero-2007
Ubicación: Mollerussa
Mensajes: 99
Antigüedad: 17 años, 9 meses
Puntos: 1
Re: problemas en una secuencia alpha

Amigos,

Como dijo Mahalo era un expediente X. Hoy me funcionan todos. Supongo que flash debió entrar en un error y hasta hoy una vez reiniciado no le ha dado por ejecutarlo correctamente.
A lo dicho un para todos gracias.
Jaume
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 23:40.