Comunidad de diseño web y desarrollo en internet online

Límite de navegación en imagen

Citar            
MensajeEscrito el 28 May 2010 12:28 pm
Hola,

Tengo una imagen que ocupa 1920x1200 en un lienzo de 950x600. A través de botones derecho e izquierdo puedo navegar por esta fotografía.

El problema es que cuando llego al límite izquierdo o derecho de la imagen, el desplazamiento sigue, viéndose el fondo.

Yo necesito que cuando llegues al borde (tanto derecho como izquierdo) de la imagen no puedas ir mas allá.

He probado con el StartDrag pero no me sirve, ya que como he dicho antes, la navegación es a través de botones derecho e izquierdo.

Mil gracias

Por damibjrs

53 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 May 2010 03:55 pm
pues lo límites serían

izq
imagen._x = 0

der
imagen._x = imagen._width - Stage.width

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 07 Jun 2010 01:57 pm
Hola,

Gracias por contestar, pero no me sirve. Paso a poner todo el código del botón:

Código ActionScript :

on (press) {

velocidad=30; aceleracion=0.9; 
   
base2.onEnterFrame=mover;

function mover() {

this._x-=velocidad;
velocidad*=aceleracion;
} 
}


Con este código el problema es que siempre avanzo hasta cuando no hay imagen. Yo quiero que cuando llegues al límite de la imagen, no puedas ir mas para allá y por tanto ver el lienzo blanco.

Por damibjrs

53 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Jun 2010 03:26 pm
debes ponerle límites....

decirle (encaso que vaya a la derecha) si la posición del eje x del_objeto es menor al "límite que te puse arriba" entonces muevete....
y si (encaso que vaya a la izquierda) es mayor a 0 (la pantalla inicia en 0) entonces que se mueva
aquí no necesitas el "sino" ya que es lo único que quieres que haga

Código ActionScript :

function mover() { 
  if(this._x > 0){
    this._x-=velocidad; 
    velocidad*=aceleracion; 
  }
} 


y eso de no me sirve, primero lee bien y trata de entender la respuesta

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 08 Jun 2010 08:58 am
Ok, lo pruebo, y eso de no me sirve queria decir que no me funcionaba. Sorry

Por damibjrs

53 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Jun 2010 10:46 am
Mmmm pues no me acabo de salir, puedes ver el problema en:

http://www.taos.es/projectes/bach/home.html

Gracias por ayudar ;)

El código que tengo en los botones es:

Derecho

Código :

Código ActionScript :

on (press) { 

velocidad=30; aceleracion=0.9; 
 
imagen.onEnterFrame=mover; 

function mover() { 
this._x-=velocidad; 

velocidad*=aceleracion; 
_x = _root.imagen._x+0.04*distanciax; 

if (_root.imagen._x>=950) { 
_root.imagen._x = 950; 
} 

if (_root.imagen._x<=-0) { 
_root.imagen._x = -0; 
} 
} 
} 



Izquierdo

Código :

Código ActionScript :

on (release) { 

velocidad=30; aceleracion=0.9;  

imagen.onEnterFrame=mover; 

function mover() { 
this._x+=velocidad; 
velocidad*=aceleracion; 

_x = _root.imagen._x+0.04*distanciax; 

if (_root.imagen._x>=950) { 
_root.imagen._x = 950; 

} 
if (_root.imagen._x<=-0) { 
_root.imagen._x = -0; 

} 
} 
} 





El problema lo tengo en que tamaños superiores a 950 se sigue viendo el fondo, no se para alli. He probado con stage_widht pero nada...

Por damibjrs

53 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Jun 2010 03:21 pm
ahora entiendo jeje... "imagen" es mayor que el escenario
bien

Código ActionScript :

Stage.scaleMode = "noScale";
Stage.align = "TL";
var miListener:Object = new Object();
miListener.onResize = function() {
   (c._x>=0) ? c._x=0 : c._x;
   (c._x<=Stage.width-c._width) ? c._x=Stage.width-c._width : c._x;
};
Stage.addListener(miListener);
velocidad = 30;
aceleracion = 0.9;
i.onPress = function() {
   v = velocidad;
   a = aceleracion;
   c.onEnterFrame = function() {
      if (this._x<0) {
         this._x += v;
         v *= a;
      } else {
         this._x = 0;
         delete this.onEnterFrame;
      }
   };
};
d.onPress = function() {
   v = velocidad;
   a = aceleracion;
   c.onEnterFrame = function() {
      if (this._x>Stage.width-this._width) {
         this._x -= v;
         v *= a;
      } else {
         this._x = Stage.width-this._width;
         delete this.onEnterFrame;
      }
   };
};

c - mc o imagen a mover
i y d - botones para mover imagen

igual son los mismos límites que te habia dicho solo que invertidos

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox

 

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