Comunidad de diseño web y desarrollo en internet online

Problemas con Slider

Citar            
MensajeEscrito el 24 Oct 2007 04:27 am
Estoy aprendiendo a hacer un slider personalizado y se me presentan 2 problemillas.
Os dejo el flash y acontinuación os lo expongo:



El primer problema se me presenta si dais a las flecha doble de abajo a la derecha hasta que el esquema llegue al final, vereis que al final da saltos para volver a la posición final cuando no debería moverse, el código que he usado en el botón es este :

Código :

stop();
delante.onRelease = function() {
   if (completo.esquema._x < -1350)
      {completo.esquema._x = -1350}
   completo.esquema.x = completo.esquema._x - 400;
};


Y el segundo problema se me presenta en el caballo que es el slider, en realidad son 2.
El primero es que si al cargar el documento no tocas el botón de las flechas del caso anterior, la barra va perfectamente hacia delante y hacia atrás con su correspondiente movimiento del esquema. Pero si tocas el botón de las flechas, la posicíon que le dan al esquema mandá sobre los caballos que los muevas donde los muevas hace el movimiento, pero vuelve a la posición.
Y el segundo es que no se como restingir el movimiento al caballo para que sólo se desplace horizontalmente y no verticalmente como le ocurre si lo mueves hacia abajo.
El código que he usado es este:

Código :

onClipEvent(load){
   var objetivo:String = _parent.mi_objetivo;
   var sostenido:Boolean = false;
   var razon:Number = this._parent._parent[objetivo]._height / this._width + 0.6;
   var deslizar:Number;
   razon = int(razon);
}

on(press){
   startDrag(this, false, this._parent.barra._x, this._parent.barra._y = 0, this._parent.barra._x + this._parent.barra._width, this._parent.barra._x + this._parent.barra._width + this._width);
   this.sostenido = true;
}

on(release){
   stopDrag();
   this.sostenido = false;
}

onClipEvent(mouseMove){
   if(this.sostenido){
      deslizar = (this._x - this._parent.barra._x);
      deslizar = int(deslizar);
      this._parent._parent[objetivo]._x = -(razon * deslizar) / 2;
   }
}


Gracias de antemano,
Saludos,
Abducted.

Por Abducted

Claber

489 de clabLevel

3 tutoriales

Genero:Masculino  

Mentalidad Renovada

firefox
Citar            
MensajeEscrito el 26 Oct 2007 02:29 pm
Después de mucho pegarme con ello he conseguido resolver uno de los problemillas, aquí dejo constancia por si a alguien se le presenta un problema parecido al mio. Me seguiré pegando con los otros 2 hasta que los resuelva o hasta que alguien me pueda echar una mano.

Problema: "El caballo se desplaza verticalmente al arrastrar cuando sólo debería desplazarse horizontalmente"
Codigo que usaba:

Código :

onClipEvent(mouseMove){
   if(this.sostenido){
      deslizar = (this._x - this._parent.barra._x);
      deslizar = int(deslizar);
      this._parent._parent[objetivo]._x = -(razon * deslizar) / 2;
   }
}


Código correcto (sólo en el problema vertical, el código sigue teniendo fallos pues como veís no llega a mostrar el esquema en su totalidad al usar el slide y sigue entrando en conflicto con el código de el botón)

Código :

onClipEvent(mouseMove){
   if(this.sostenido){
----->deslizar = (this._y = 0);<-----
      deslizar = (this._x - this._parent.barra._x);
      deslizar = int(deslizar);
      this._parent._parent[objetivo]._x = -(razon * deslizar) / 2;
   }
}


Saludos,
Abducted.

Por Abducted

Claber

489 de clabLevel

3 tutoriales

Genero:Masculino  

Mentalidad Renovada

firefox
Citar            
MensajeEscrito el 26 Oct 2007 02:59 pm
Ok, debo estar inspirado. Arreglado lo del final de esquema al mover el slide, sólo he tenido que acortar el elemento llamado "barra" y cambiar este trozo de código (no sé como he llegado a ello).

Código :

onClipEvent(load){
   var objetivo:String = _parent.mi_objetivo;
   var sostenido:Boolean = false;
   var razon:Number = this._parent._parent[objetivo]._height / this._width + 0.6;
   var deslizar:Number;
   razon = int(razon);
}


Sólo he cambiado el valor de 0.6 por 1.6 (NOTA: el código original que cogí no llevava nada después de "/ this._width" pero toqueteando le añadí ese + 0.6 que ahora es 1.6)

Saludos,
Abducted.

Por Abducted

Claber

489 de clabLevel

3 tutoriales

Genero:Masculino  

Mentalidad Renovada

firefox

 

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