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

scroll sencillo de un mc

Estas en el tema de scroll sencillo de un mc en el foro de Flash y Actionscript en Foros del Web. Hola he estado mirando muchos tipos de scroll, pero estoy intentando hacer una cosa más imple. Tengo un MC aplico una mascara más pequeña quel ...
  #1 (permalink)  
Antiguo 27/12/2004, 14:32
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 1 mes
Puntos: 8
scroll sencillo de un mc

Hola he estado mirando muchos tipos de scroll, pero estoy intentando hacer una cosa más imple.


Tengo un MC

aplico una mascara más pequeña quel el mc.

y intento hacer con dos botones (areas activas) con un rollover que el clip de mueva para arriva o abajo.

tengo este script

on(rollover){
_root.mi_mc._y-=10;
}

on(rollover){
_root.MCcontenido._y+=10;
}

pero cuando tengo el mouse sobre el boton el mc no se sigue moviendo. tengo que ponderlo diversas veces.

no se como hacer que sea seguido

alguien sabe como gracias..
  #2 (permalink)  
Antiguo 27/12/2004, 14:59
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Eso es debido a que solo se esta incrmentado 10 en la acción rollover, lo que podrias hacer es algo así:

Código PHP:
on (rollOver) {
    
this.onEnterFrame = function() {
        
_root.mi_mc._y -= 10;
                         
//Marca la distancia límite.
        
if (_root.mi_mc._y>=elLimite) {
            
delete this.onEnterFrame;
        }
    };

Y así en el otro caso.



Suerte!!!!!!!!!
  #3 (permalink)  
Antiguo 27/12/2004, 17:31
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 1 mes
Puntos: 8
funciona

funciona pero no para cuando saco el mouse de sobre el boton.


para el boton arriba tengo

on (rollOver) {
this.onEnterFrame = function() {
_root.contingut._y += 5;
//Marca la distancia límite.
if (_root.contingut._y <= 0) {
delete this.onEnterFrame;
}
};
}

y el boton abajo tengo

on (rollOver) {
this.onEnterFrame = function() {
_root.contingut._y -= 5;
//Marca la distancia límite.
if (_root.contingut._y >= 300) {
delete this.onEnterFrame;
}
};
}


pero no se como hacer para que cuando le apunte para arriba llegue a la posición 0 del mc y se pare

y cuando le haga hacia abajo cuando llegue al limite tembien se pare.

casi lo tengo pero me falta algo que se me escapa de las manos.

gracias por todo
  #4 (permalink)  
Antiguo 27/12/2004, 19:14
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
ya se cual es el problema, marca tus coordenadas de y bien pq eso esta haciendo que se pase, también se me olvido agregar que si hay un rollout la acción se borre, quedaría algo así:

Código PHP:
//Botón arriba
///////////////
on (rollOver) {
    
//Instancia del otro botón
    
_root.abajo.enabled true;
    
this.onEnterFrame = function() {
        
_root.contingut._y += 5;
        
trace("y:"+_root.contingut._y);
        
//Marca la distancia límite. 
        
if (_root.contingut._y>=400) {
            
delete this.onEnterFrame;
            
this.enabled false;
        }
    };
}
on (rollOut) {
    
delete this.onEnterFrame;
}

//botón abajo
///////////////
on (rollOver) {
    
//Instancia del otro botón arriba
    
_root.arriba.enabled true;
    
this.onEnterFrame = function() {
        
_root.contingut._y -= 5;
        
trace("y:"+_root.contingut._y);
        
//Marca la distancia límite. 
        
if (_root.contingut._y<=0) {
            
delete this.onEnterFrame;
            
this.enabled false;
        }
    };
}
on (rollOut) {
    
delete this.onEnterFrame;

Suerte!!!!!!!!

Última edición por jahepi; 27/12/2004 a las 19:23
  #5 (permalink)  
Antiguo 28/12/2004, 02:59
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 1 mes
Puntos: 8
ok funciona

ahora solo me falta hacer que cuando el mc esté en una posición concreta los botones se deahabiliten. Ya que para de acer el scroll pero si vuelves a poner el mouse sobre el boton hace que el mc se mueva hacia abajo o hacia arriba.

he estado mirando de cuando el mc esté en y el boton se deshabilite pero no lo encuentro.
  #6 (permalink)  
Antiguo 28/12/2004, 11:23
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
en el último script que te pase ya esta implementado, ya que tenía el error que si llegaba al límite y volvias a ponerte sobre el botón, esta se seguía incrementando.

Código PHP:
_root.arriba.enabled boolean


Suerte!!!!!!!
  #7 (permalink)  
Antiguo 29/12/2004, 21:10
 
Fecha de Ingreso: junio-2003
Mensajes: 20
Antigüedad: 20 años, 10 meses
Puntos: 0
este no solo es mas sencillo sino que se adapta a cualquier mc calculando su largo
m =6 //(barra._height - agarra._height)/100
this.onEnterFrame = function() {
if (_global.subir == true) {
if (c<cua._height-20) {
cua._y -= m;
agarra._y++
c += m;
}
}
if (_global.bajar == true) {
if (c>0) {
cua._y += m;
agarra._y--
c -= m;
}
}
};
alto.onPress = function() {
_global.subir = true;
alto._alpha = 100;
};
alto.onRelease = function() {
_global.subir = false;
alto._alpha = 40;
};
bajo.onPress = function() {
_global.bajar = true;
bajo._alpha = 100;
};
bajo.onRelease = function() {
_global.bajar = false;
bajo._alpha = 40;
};
alto.onDragOut = function() {
_global.subir = false;
alto._alpha = 40;
};
bajo.onDragOut = function() {
_global.bajar = false;
bajo._alpha = 40;
};
  #8 (permalink)  
Antiguo 30/12/2004, 03:11
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 1 mes
Puntos: 8
si pero

en este ultimo tinenes de crear una barra de desplazamiento no? y mas cosas.

nono03 podrias poner un ejemplo en fla ;-P

gracias
  #9 (permalink)  
Antiguo 01/01/2005, 17:09
 
Fecha de Ingreso: junio-2003
Mensajes: 20
Antigüedad: 20 años, 10 meses
Puntos: 0
scroll

/*creas los botones alto y bajo como nombre de instancia,
un mc llamado mask que es la mascara, otro que es donde vas a poner el texto
que se llama cua otro que es barra y otro que es agarra*/
cua.setMask(mask)
m = 6;
c = 0;
pos = 0;
contar = new Array();
contar.push(agarra._y);
sobra = cua._height-barra._height;
agarra._height = agarra._height-(sobra/m);
this.onEnterFrame = function() {
if (esto == true) {
if (contar[0] != agarra._y) {
if (agarra._y>contar[0]) {
pos = agarra._y-contar[0];
cua._y -= pos*m;
c += pos*m;
}
if (agarra._y<contar[0]) {
pos = contar[0]-agarra._y;
cua._y += pos*m;
c -= pos*m;
}
}
}
if (_global.subir == true) {
if (c<cua._height-barra._height) {
cua._y -= m;
agarra._y++;
c += m;
}
}
if (_global.bajar == true) {
if (c>0) {
cua._y += m;
agarra._y--;
c -= m;
}
}
contar.splice(0, contar.length, agarra._y);
};
alto.onPress = function() {
esto = false;
_global.subir = true;
alto._alpha = 100;
};
alto.onRelease = function() {
_global.subir = false;
alto._alpha = 40;
};
bajo.onPress = function() {
esto = false;
_global.bajar = true;
bajo._alpha = 100;
};
bajo.onRelease = function() {
_global.bajar = false;
bajo._alpha = 40;
};
alto.onDragOut = function() {
_global.subir = false;
alto._alpha = 40;
};
bajo.onDragOut = function() {
_global.bajar = false;
bajo._alpha = 40;
};
agarra.onPress = function() {
esto = true;
startDrag(agarra, false, barra._x, barra._y, barra._x, (barra._y+barra._height+1)-agarra._height);
};
agarra.onRelease = function() {
esto = false;
stopDrag();
};
el _alpha no funciona por que no lo estoy utilizando si queres sacalo lo hice yo y funciona muy bien igual hay que mejorarlo por que si el texto tine muchas dimenciones hay que hacer otro calcula de suma de la variable "m" que no hice por tiempo pero es una boludes si queres hacela y funcionaria dependiendo del largo, asi solo funciona hasta un maximo de veces el alto del scroll mas o menos espero que te sirva
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 18:20.