Comunidad de diseño web y desarrollo en internet online

DETENER / DESACTIVAR FUNCION

Citar            
MensajeEscrito el 17 Ene 2011 05:05 pm
Hola, no soy experto para nada en flash y menos en programacion AS por lo cual me tengo q remitir a la colaboracion de uds, hice una imagen panoramica, no recuerdo de donde la baje pero al mover el mouse al lado derecho la imagen se mueve a la derecha y si se mueve a la izquierda se vaya a la izquierda, todo funciona perfectamente
la cuestion es q esa imagen tiene un boton y hace hacer click me debe llevar a otra animacion, funciona perfectamente, solo que al irse a esa animacion el movimiento que trae de la panoramica no se detiene. como hago para q se detenga esa funcion?

adjunto el codigo q crea el despalzamiento de la panoramica. GRACIAS

Código ActionScript :

function mover()
{
barraqueanda();
panoramica_mc.onEnterFrame = function ()
{
if (_xmouse != mitad) 
{
if (_xmouse < mitad && _ymouse < 200) 
{
if (panoramica_mc._x < 0) 
{
inc = Math.abs(_xmouse - mitad) * (acel / 10);
panoramica_mc._x = panoramica_mc._x + inc;
}
return;
}
inc = Math.abs(_xmouse - mitad) * (acel / 10);
if (panoramica_mc._x > -477 && _ymouse < 477) 
{
panoramica_mc._x = panoramica_mc._x - inc;
}
}
}
;
}
function init()
{
barraqueanda();
this.onEnterFrame = function ()
{
if (iniciado) 
{
if (panoramica_mc._x > -477) 
{
panoramica_mc._x = panoramica_mc._x - 1.8;
}
return;
}
delete (this.onEnterFrame);
}
;
}
function anda(obj, lugar)
{
obj._x = lugar;
}
function barraqueanda()
{
_root.slider.bar.onEnterFrame = function ()
{
this._x = _root.panoramica_mc._x / 5.5 * -1;
}
;
}
anchoPelicula = 500;
altoPelicula = 346;
acel = 10;
iniciado = true;
fondo_mc._width = anchoPelicula;
fondo_mc._height = altoPelicula;
fondo_mc._x = 0;
fondo_mc._y = 0;
acel = acel / 50;
panoramica_mc._y = 0;
panoramica2_mc._y = 0;
mitad = anchoPelicula / 2;
ancho = panoramica_mc._width;
panoramica_mc._x = 0;
panoramica2_mc._x = 0 - ancho;
fondo_mc.onRollOver = function ()
{
iniciado = false;
mover();
}
;
fondo_mc.onRollOut = function ()
{
}
;
init();
maior = _root.panoramica_mc._width;
menor = _root.slider._width;
desl = maior - Stage.width + 0;
var prop = desl / menor;

Por cabeto_1972

3 de clabLevel



 

safari
Citar            
MensajeEscrito el 27 Ene 2011 06:33 pm
Que tal:
Quizás con un Booleano (verdadero o falso) dentro de un if y en ese if la función mover.
algo asi:

Código ActionScript :

var movimiento = true;
if (movimiento == true) {
   function mover () {
      barraqueanda ();
      panoramica_mc.onEnterFrame = function () {
         if (_xmouse != mitad) {
            if (_xmouse < mitad && _ymouse < 200) {
               if (panoramica_mc._x < 0) {
                  inc = Math.abs (_xmouse - mitad) * (acel / 10);
                  panoramica_mc._x = panoramica_mc._x + inc;
               }
               return;
            }
            inc = Math.abs (_xmouse - mitad) * (acel / 10);
            if (panoramica_mc._x > -477 && _ymouse < 477) {
               panoramica_mc._x = panoramica_mc._x - inc;
            }
         }
      };
   }
}
function init () {
   barraqueanda ();
   this.onEnterFrame = function () {
      if (iniciado) {
         if (panoramica_mc._x > -477) {
            panoramica_mc._x = panoramica_mc._x - 1.8;
         }
         return;
      }
      delete (this.onEnterFrame);
   };
}
function anda (obj, lugar) {
   obj._x = lugar;
}
function barraqueanda () {
   _root.slider.bar.onEnterFrame = function () {
      this._x = _root.panoramica_mc._x / 5.5 * -1;
   };
}
anchoPelicula = 500;
altoPelicula = 346;
acel = 10;
iniciado = true;
fondo_mc._width = anchoPelicula;
fondo_mc._height = altoPelicula;
fondo_mc._x = 0;
fondo_mc._y = 0;
acel = acel / 50;
panoramica_mc._y = 0;
panoramica2_mc._y = 0;
mitad = anchoPelicula / 2;
ancho = panoramica_mc._width;
panoramica_mc._x = 0;
panoramica2_mc._x = 0 - ancho;
fondo_mc.onRollOver = function () {
   iniciado = false;
   mover ();
};
fondo_mc.onRollOut = function () {
};
init ();
maior = _root.panoramica_mc._width;
menor = _root.slider._width;
desl = maior - Stage.width + 0;
var prop = desl / menor;


Luego al entrar a la animación de la que hablas cambias el Booleano que hiciste a falso, colocanco esta linea en frame en donde quieras que la función se detenga.

Código ActionScript :

movimiento = false;


Pruebalo y comenta como funciona


Saludos


charlyn

Por charlyn

45 de clabLevel



Genero:Masculino  

chrome

 

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