Comunidad de diseño web y desarrollo en internet online

movimiento action script

Citar            
MensajeEscrito el 23 Ene 2006 02:26 pm
Hola gente,

estoy haciendo un mapa del mundo y me gustaria poner unos botones con los nombres de diferente paises y que al hacer roll over o roll out el mapa se reposicionase y escalase para mostrarte el pais en cuestion.

Asi que he probado con tres fotogramas en la line de tiempo principal para hacer un bucle donde se cargara la funcion de moviento.


Primer fotograma

Código :

// ++++++++++++++++++++++++++++++++++
//         VARIABLES DEL GENERALES
// ++++++++++++++++++++++++++++++++++
veloz = 13;

// ++++++++++++++++++++++++++++++++++
//         VARIABLES DE LA INSTANCIA
// ++++++++++++++++++++++++++++++++++

//                         inicio
// ++++++++
_root.mc_world.mc_map_scala = 100;
_root.mc_world.mc_map_x = 10;
_root.mc_world.mc_map_y = 10;

//                          fin
// ++++++++
_root.mc_world.mc_map_scala_f = 300;
_root.mc_world.mc_map_x_f = 100;
_root.mc_world.mc_map_y_f = 100;

_root.btn_uk.rollOver = function() {

_root.mc_world.mc_map_scala_f = 150;
_root.mc_world.mc_map_x_f = 10;
_root.mc_world.mc_map_y_f = 10;
}

btn_canada.rollOver = function() {

_root.mc_world.mc_map_scala_f = 50;
_root.mc_world.mc_map_x_f = 50;
_root.mc_world.mc_map_y_f = 50;
}

btn_turkey.rollOver = function() {

_root.mc_world.mc_map_scala_f = 50;
_root.mc_world.mc_map_x_f = 300;
_root.mc_world.mc_map_y_f = 300;
}


Segundo fotograma

Código :

_root.mc_world.mc_map._xscale = _root.mc_world.mc_map_scale;
_root.mc_world.mc_map._yscale = _root.mc_world.mc_map_scale;
_root.mc_world.mc_map._x = _root.mc_world.mc_map_x;
_root.mc_world.mc_map._y = _root.mc_world.mc_map_y;


tercer fotograma

Código :

// *********************************************************
// +++++++++++++++++  MOVIMIENTOS instancia   +++++++++++++++++++
// *********************************************************

// *********************************************************
// *********************** ESCALA  ***********************
if ( _root.mc_world.mc_map_scala_f > _root.mc_world.mc_map_scala) {
if (_root.mc_world.mc_map_scala >= _root.mc_world.mc_map_scala_f) {
 _root.mc_world.mc_map_scala = _root.mc_world.mc_map_scala_f;
} else {
 an_scala = (_root.mc_world.mc_map_scala_f-getProperty(_root.mc_world.mc_map, _xscale))/veloz;
 _root.mc_world.mc_map_scala = _root.mc_world.mc_map_scala+an_scala;
}
}  else  {
if (_root.mc_world.mc_map_scala <= _root.mc_world.mc_map_scala_f) {
 _root.mc_world.mc_map_scala = _root.mc_world.mc_map_scala_f;
} else {
 an_scala = (getProperty(_root.mc_world.mc_map, _xscale)-_root.mc_world.mc_map_scala_f)/veloz;
 _root.mc_world.mc_map_scala = _root.mc_world.mc_map_scala-an_scala;
}
}
// *********************************************************
// ********************** Posicion X  **********************
if ( _root.mc_world.mc_map_x_f > _root.mc_world.mc_map_x) {
if (_root.mc_world.mc_map_x >= _root.mc_world.mc_map_x_f) {
 _root.mc_world.mc_map_x = _root.mc_world.mc_map_x_f;
} else {
 an_x = (_root.mc_world.mc_map_x_f-getProperty(_root.mc_world.mc_map, _x))/veloz;
 _root.mc_world.mc_map_x = _root.mc_world.mc_map_x+an_x;
}
}  else  {
if (_root.mc_world.mc_map_x <= _root.mc_world.mc_map_x_f) {
 _root.mc_world.mc_map_x = _root.mc_world.mc_map_x_f;
} else {
 an_x = (getProperty(_root.mc_world.mc_map, _x)-_root.mc_world.mc_map_x_f)/veloz;
 _root.mc_world.mc_map_x = _root.mc_world.mc_map_x-an_x;
}
}
// *********************************************************
// ********************** Posicion Y  **********************
if ( _root.mc_world.mc_map_y_f > _root.mc_world.mc_map_y) {
if (_root.mc_world.mc_map_y >= _root.mc_world.mc_map_y_f) {
 _root.mc_world.mc_map_y = _root.mc_world.mc_map_y_f;
} else {
 an_y = (_root.mc_world.mc_map_y_f-getProperty(_root.mc_world.mc_map, _y))/veloz;
 _root.mc_world.mc_map_y = _root.mc_world.mc_map_y+an_y;
}
}  else  {
if (_root.mc_world.mc_map_y <= _root.mc_world.mc_map_y_f) {
 _root.mc_world.mc_map_y = _root.mc_world.mc_map_y_f;
} else {
 an_y = (getProperty(_root.mc_world.mc_map, _y)-_root.mc_world.mc_map_y_f)/veloz;
 _root.mc_world.mc_map_y = _root.mc_world.mc_map_y-an_y;
}
}


gotoAndPlay(_currentframe-1);



El caso es que no funciona para nada :? , alguna idea, gracias ^^ [/code]

Por lassodesigns

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Ene 2006 05:01 pm
utiliza esta funcion


muyyy buena sirve para muchas cosas

Código :

function redimensionar(x,y,ancho,alto, aceleracion) { 
    fondo.onEnterFrame = function() { 
        this._x += (x-this._x)/aceleracion; 
        this._y += (y-this._y)/aceleracion; 
        this._width += (ancho-this._width)/aceleracion; 
        this._height+= (alto-this._height)/aceleracion; 
        if (Math.abs(x-this._x)<0.5 && Math.abs(y-this._y)<0.5 && Math.abs(ancho-this._width)<0.5 && Math.abs(alto-this._height)<0.5) { 
            this._x = x; 
            this._y = y; 
            this._width = ancho; 
            this._height = alto; 
            delete this.onEnterFrame; 
        } 
    }; 
};


solo necesitas llamarla y darle las coordenadas, funciona con width peropuedes cambiarla para que funcione con scale y solo le pasas los parametros

Xaludos ^^

Por FeNtO

BOFH

5091 de clabLevel

18 tutoriales

1 ejemplo

  Bastard Operators From Hell

FeNtO DataCenter

clabbrowser
Citar            
MensajeEscrito el 23 Ene 2006 05:15 pm
Gracias tio lo miro,

Como seria el codigo del boton??

ancho = 200;
alto = 200;

si lo quiero poner al doble de tamano

Por lassodesigns

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Ene 2006 05:18 pm
redimensionar(x,y,ancho,alto, aceleracion);

aqui te va , en este tu le dices que coordenadas, el ancho en pixeles, que es ahi donde te digo qu elo puedes modificar para manejarlo por escale y aceleracion, que es con que rapidez quieres que te haga un efecto de easing, bastane atractivo

por cierto cambia el nombre de insancia de fondo por el nombre de instancia de tu mc

Xaludos

Por FeNtO

BOFH

5091 de clabLevel

18 tutoriales

1 ejemplo

  Bastard Operators From Hell

FeNtO DataCenter

clabbrowser

 

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