Comunidad de diseño web y desarrollo en internet online

Haciendo galería de Imágenes

Citar            
MensajeEscrito el 12 Mar 2006 01:58 pm
Bueno, estaba haciendo una galería de imágenes, y parece que cada vez mis códigos son más grandecitos. :)

Código :

stop();

/* Imágenes */
var Ruta = "IMG(G)/IMG_";
var Imagen = 1;
var Extensión = ".JPG";
var X = 0;
var Status = _root._xmouse.hitTest(Anteriores);

/** Funciones **/
 /*   Carga   */
this.onMouseDown = function (){          //  1º Problema
   Carga.loadMovie(Ruta add Imagen add Extensión);
}

this.onEnterFrame = function() {
   Galeria._x += X;
   
   /* Siguientes */
   Siguientes.onRollOver = function() {
      X = 0;
      X--;
   };
   Siguientes.onRollOut = function() {
      X = 0;
   };
   
   /* Anteriores */
   Anteriores.onRollOver = function() {
      X = 0;
      X++;
   };
   
   Anteriores.onRollOut = function() {   // 2º Problema
      for (X=1; X>0; X=0) {
         X -= 0.1;
         trace(X);
      }
   };
};


Lástima que también lo sean mis problemas xDDD :lol: Marqué los dos que tengo.

El primero es la función para la carga de Imágenes, lo intenté hacer con "onEnterFrame" pero no me las cargaba (No se por qué). y tuve que poner el onMouseDown que ahora para ver una imagen tengo que clicar dos veces cual escritorio de Windows. xD (El problema es que no quiero tener que clicar 2 veces :cry:)

El segundo es que al mantener el ratón sobre el botón Anteriores la galeria se desplaza, bien, pero al sacar el ratón de encima del botón quería lograr el efecto de desceleración con el for, que es la primera vez que lo utilizo, y si no he entendido mal funciona así.

Código :

for(X=1;X>0;X=0){
X-= 0.1;
}

Empieza con X valiendo 1 (init), y mientrás X sea mayor que 0 (Condición) y para lograr que X sea igual a 0(next), se le va restando 0.1 (Instrucciones) ¿Es así?


Aunque quizás el for si lo puse bien y lo que lo limita es el onRollOut que solo lo llama una vez. (¿?) En ese caso, ¿qué debería poner?

Bueno, espero que las respuestas sean faciles pero no tanto como para tener que jubilarme anticipadamente del AS. :oops:

Por Neodivert

15 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 Mar 2006 05:00 pm
for(X=1;X>0;X=0){

la traducción de eso es "Desde X igual a 1, mientras X sea mayor que cero, X es igual a 0" ... es decir se culplirá una vez si es que lo hace... la sintaxis de un for es "Desde estado inicial, condición , siguiente paso" por ejemplo :

for(X=1;X>0;X-=0.1){
}

El siguiente paso es lo que hace la X, ahora bien, ... "dentro" de un for NO transcurren frames, es decir... en tu caso la X variará de 1 a 0 en 1 frame y nada más, es un absurdo de for!

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 12 Mar 2006 11:26 pm
//****EDITADO
Bueno, parece que ya lo solucioné y no veas que alivio, es como si hubieras estado tantos dias extreñido y tus preocupaciones se fueran pacificamente por el retrato plocamandote vencedor. xD

Éste es el código que tiene mi galeria.

Código :

stop();
//***********************************************
//0- Variables
//***********************************************
/* 0.1.Imágenes */
var RutaP= "IMG(G)/";
var ImagenP = "Imagen";
var Ruta = "IMG(G)/IMG_";
var Imagen = 1;
var Extensión = ".JPG";
/* 0.2. (X) */
var X = 0;
/* 0.3. Status */
var Frenado = false;
var Frenado_2 = false;
var Nueva_Imagen = false;
var Nueva_Imagen_Personalizada = false;
//***********************************************
//1º- Funciones
//***********************************************
this.onEnterFrame = function() {
   if(Nueva_Imagen){
   Carga.loadMovie(Ruta add Imagen add Extensión);
   Nueva_Imagen = false;
   }
   if(Key.isDown(Key.ENTER)){
      Nueva_Imagen_Personalizada = true;
   }
   if(Nueva_Imagen_Personalizada){
      Carga.loadMovie(RutaP add ImagenP add Extensión);
      Nueva_Imagen_Personalizada = false;
   }
   Galeria._x += X;
   /* Siguientes */
   Siguientes.onRollOver = function() {
      Frenado = false;
      X = 0;
      X--;
   };
   Siguientes.onRollOut = function() {
      Frenado = true;
   };
   var Frenar_1 = (Frenado == true) && (X<0);
   var Frenado_Completo = (Frenado == true)&&(X>0);
   if (Frenar_1) {
      X += 0.07;
   }else if(Frenado_Completo){
      X=0;
      Frenado = false;
   }
   /* Anteriores */
   Anteriores.onRollOver = function() {
      Frenado = false;
      X = 0;
      X++;
   };
   Anteriores.onRollOut = function() {
      Frenado_2 = true;
   };
   var Frenar_2 = (Frenado_2 == true) && (X>0);
   if (Frenar_2) {
      X -= 0.07;
      if (X<0) {
         X = 0;
      }
   } else {
      Frenado_2 = false;
   }
};


Y ahora mi pregunta es, que hay que poner e Key.isDown si la tecla a presionar quiero que sea la S, por que lo pruebo con su código (83 me parece) y con la misma letra, pero no pasa nada. :?

Por Neodivert

15 de clabLevel



Genero:Masculino  

firefox

 

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