Comunidad de diseño web y desarrollo en internet online

es posible pasar de AS3 a AS2 novatorr

Citar            
MensajeEscrito el 13 Feb 2009 09:49 am
He encontrado un ejemplo por aqui en el foro de un mapa con un efecto lupa, pero esta en AS3 y mi flas esta en As2, y claro no me funciona, :cry: , pero seri el ejemplo perfecto que necesito para terminar un trabajo, os dejo el codigo por si un alma caritativa me responde,

gracias de todas formas
un saludo
mop

código:

Código ActionScript :

var visor_fx:Boolean = false;
//-----------------------------------------------
var porcentajeX:Number = 100 / (mapaBig.width / visor.mapaSmall.width);
var porcentajeY:Number = 100 / (mapaBig.height / visor.mapaSmall.height);
visor.zona.width = mascara.width * porcentajeX / 100;
visor.zona.height = mascara.height * porcentajeY / 100;
var distX:Number = 0;
var distY:Number = 0;
//-----------------------------------------------
visor.botDrag.addEventListener(MouseEvent.MOUSE_DOWN, onStartDrag);
visor.botDrag.addEventListener(MouseEvent.MOUSE_UP, onStopDrag);
visor.botDrag.addEventListener(MouseEvent.MOUSE_OUT, onStopDrag);
visor.zona.botZona.addEventListener(MouseEvent.MOUSE_DOWN, onStartDrag);
visor.zona.botZona.addEventListener(MouseEvent.MOUSE_UP, onStopDrag);
visor.zona.botZona.addEventListener(MouseEvent.MOUSE_OUT, onStopDrag);
visor.mapaSmall.addEventListener(MouseEvent.MOUSE_DOWN, onPosicionaZona);
this.addEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
//-----------------------------------------------
function onStartDrag(e:Event):void
{
   var clip:MovieClip = e.target.parent;
   clip.startDrag();
   visor_fx = true;
}
function onStopDrag(e:Event):void
{
   e.target.parent.stopDrag();
   visor_fx = false;
}
function MouseMove(e:Event):void
{
   if (visor_fx == true) {
      calculaDist();
      mueveVisorZona();
      controlaPosiciones();
   }
}
//-----------------------------------------------
function onPosicionaZona(e:Event):void
{
   var clip:MovieClip = e.target.parent;
   clip.zona.x = mouseX-clip.x- clip.zona.width/2
   clip.zona.y = mouseY-clip.y- clip.zona.height/2
      calculaDist();
      mueveVisorZona();
      controlaPosiciones();
}
//-----------------------------------------------
function calculaDist():void
{
   distX = (visor.zona.x - visor.mapaSmall.x) / porcentajeX * 100;
   distY = (visor.zona.y - visor.mapaSmall.y) / porcentajeY * 100;

   distX = (distX<0)?0:distX;
   distY = (distY<0)?0:distY;
}
function mueveVisorZona():void
{
   mapaBig.x = mascara.x - distX;
   mapaBig.y = mascara.y - distY;
}
//-----------------------------------------------
function controlaPosiciones():void
{
   //visor
   if (visor.x<0) {
      visor.x=0;
   } else if (visor.x>stage.stageWidth-visor.width) {
      visor.x=stage.stageWidth-visor.width;
   }
   if (visor.y<0) {
      visor.y=0;
   } else if (visor.y>stage.stageHeight-visor.height) {
      visor.y=stage.stageHeight-visor.height;
   }
   //zona
   if (visor.zona.x<visor.mapaSmall.x) {
      visor.zona.x=visor.mapaSmall.x;
   } else if (visor.zona.x>visor.mapaSmall.x+visor.mapaSmall.width-visor.zona.width) {
      visor.zona.x=visor.mapaSmall.x+visor.mapaSmall.width-visor.zona.width;
   }
   if (visor.zona.y<visor.mapaSmall.y) {
      visor.zona.y=visor.mapaSmall.y;
   } else if (visor.zona.y>visor.mapaSmall.y+visor.mapaSmall.height-visor.zona.height) {
      visor.zona.y=visor.mapaSmall.y+visor.mapaSmall.height-visor.zona.height;
   }
   //mapaBig
   if (mapaBig.x>0) {
      mapaBig.x=0;
   } else if (mapaBig.x<mascara.width-mapaBig.width) {
      mapaBig.x=mascara.width-mapaBig.width;
   }
   if (mapaBig.y>0) {
      mapaBig.y=0;
   } else if (mapaBig.y<mascara.height-mapaBig.height) {
      mapaBig.y=mascara.height-mapaBig.height;
   }
}

Por mop

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Feb 2009 10:48 am
¿Alguna pregunta específica para el alma caritativa, o simplemente que te traduzca la 100 líneas de código a AS2?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Feb 2009 10:53 am
lo primero gracias Jorge por responder tan rápido, relamente eres un alma caritativa!!!
lo otro no se si será ironico o realmente se puede hacer, si es asi, es solo eso aunque es bastante, por lo menos mi.
es posible??

gracias una veza más
mop

Por mop

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Feb 2009 10:26 pm

Por esedeerre

132 de clabLevel



 

MadRid

opera
Citar            
MensajeEscrito el 14 Feb 2009 10:33 am
gracias por el enlace, ya lo habia visto, pero he de decir que lo que me interesa del codigo que he mandado es el navegador que tiene, el hecho de mover la imagen de abajo y que se mueva la imagen grande, eso es realmente lo que necesito.

gracias de todas formas por la molestia

Por mop

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Feb 2009 02:04 pm
Insisto en que te mires los enlaces.

Lo que quieres hacer no es complicado, en cuanto leas detenidamente un par de ejemplo seguro que lo entiendes y lo puedes hacer tú solo.

Y para las dudas puntuales, puedes pedir ayuda en el foro.

Por esedeerre

132 de clabLevel



 

MadRid

opera
Citar            
MensajeEscrito el 23 Oct 2009 03:39 pm
Hola, me gustaria saber como pasar este codigo de AS3 a AS2, me ayudan porfavor!? :oops:
Gracias amigos!


var sunGravityX:Number = sun.x + (sun.width * .3) / 2;
var sunGravityY:Number = sun.y + (sun.height * .3) / 2;

var sonGravityX:Number = son.x + (son.width * .6) / 2;
var sonGravityY:Number = son.y + (son.height * .6) / 2;

var sinEarth = 500;
var cosEarth = -200;
var sinStar = -550;
var cosStar = -400;
var sinMoon = -300;
var cosMoon = 500;
var sinSun = 500;
var cosSun = -300;
var sinSon = -200;
var cosSon = 500;
var sinMon = -700;
var cosMon = 430;

var sunOrbitDiameter:Number = 50;
var sonOrbitDiameter:Number = 60;
var earthOrbitDiameter:Number = 40;

var orbitSpeed1:Number = 4;
var orbitSpeed2:Number = 2;
var orbitSpeed3:Number = 3;
var orbitSpeed4:Number = 8;
var orbitSpeed5:Number = 10;
var orbitSpeed6:Number = 7;

addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event):void {

var earthGravityX:Number = earth.x + (earth.width * .5) / 2;
var earthGravityY:Number = earth.y + (earth.height * .5) / 2;

sinEarth += .050;
cosEarth += .050;
sinSun += .080;
cosSun += .080;
sinMoon += .070;
cosMoon += .070;
sinStar += .040;
cosStar += .040;
sinSon += .020;
cosSon += .020;
sinMon += .050;
cosMon += .050;

earth.x = Math.sin(sinEarth * orbitSpeed1) * sunOrbitDiameter + sunGravityX;
earth.y = Math.cos(cosEarth * orbitSpeed1) * sunOrbitDiameter + sunGravityY;
moon.x = Math.sin(sinMoon * orbitSpeed2) * sunOrbitDiameter + sunGravityX;
moon.y = Math.cos(cosMoon * orbitSpeed2) * sunOrbitDiameter + sunGravityY;
sun.x = Math.sin(sinSun * orbitSpeed3) * sunOrbitDiameter + sunGravityX;
sun.y = Math.cos(cosSun * orbitSpeed3) * sunOrbitDiameter + sunGravityY;
star.x = Math.sin(sinStar * orbitSpeed4) * sunOrbitDiameter + sunGravityX;
star.y = Math.cos(cosStar * orbitSpeed4) * sunOrbitDiameter + sunGravityY;
son.x = Math.sin(sinSon * orbitSpeed5) * sonOrbitDiameter + sonGravityX;
son.y = Math.cos(cosSon * orbitSpeed5) * sonOrbitDiameter + sonGravityY;
mon.x = Math.sin(sinMon * orbitSpeed6) * sonOrbitDiameter + sonGravityX;
mon.y = Math.cos(cosMon * orbitSpeed6) * sonOrbitDiameter + sonGravityY;
}

Por menduko23

2 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Oct 2009 04:10 pm
En principio es todo igual cambiando solo los .x por ._x y el addEventListener y la funcion por un this.onEnterFrame

Por ur!

256 de clabLevel



 

Barcelona

chrome
Citar            
MensajeEscrito el 23 Oct 2009 04:17 pm
Probé lo que me dijiste, pero sigue estático, no me tira ningun error report, pero no funka... mirá asi lo deje...
Por ahi me mande cualquiera... muy bueno en esto no soy jeje


var sunGravityX:Number = sun._x + (sun.width * .3) / 2;
var sunGravityY:Number = sun._y + (sun.height * .3) / 2;

var sonGravityX:Number = son._x + (son.width * .6) / 2;
var sonGravityY:Number = son._y + (son.height * .6) / 2;

var sinEarth = 500;
var cosEarth = -200;
var sinStar = -550;
var cosStar = -400;
var sinMoon = -300;
var cosMoon = 500;
var sinSun = 500;
var cosSun = -300;
var sinSon = -200;
var cosSon = 500;
var sinMon = -700;
var cosMon = 430;

var sunOrbitDiameter:Number = 50;
var sonOrbitDiameter:Number = 60;
var earthOrbitDiameter:Number = 40;

var orbitSpeed1:Number = 4;
var orbitSpeed2:Number = 2;
var orbitSpeed3:Number = 3;
var orbitSpeed4:Number = 8;
var orbitSpeed5:Number = 10;
var orbitSpeed6:Number = 7;

onEnterFrame = function (){
this.onEnterFrame = function (){

var earthGravityX:Number = earth._x + (earth.width * .5) / 2;
var earthGravityY:Number = earth._y + (earth.height * .5) / 2;

sinEarth += .050;
cosEarth += .050;
sinSun += .080;
cosSun += .080;
sinMoon += .070;
cosMoon += .070;
sinStar += .040;
cosStar += .040;
sinSon += .020;
cosSon += .020;
sinMon += .050;
cosMon += .050;

earth._x = Math.sin(sinEarth * orbitSpeed1) * sunOrbitDiameter + sunGravityX;
earth._y = Math.cos(cosEarth * orbitSpeed1) * sunOrbitDiameter + sunGravityY;
moon._x = Math.sin(sinMoon * orbitSpeed2) * sunOrbitDiameter + sunGravityX;
moon._y = Math.cos(cosMoon * orbitSpeed2) * sunOrbitDiameter + sunGravityY;
sun._x = Math.sin(sinSun * orbitSpeed3) * sunOrbitDiameter + sunGravityX;
sun._y = Math.cos(cosSun * orbitSpeed3) * sunOrbitDiameter + sunGravityY;
star._x = Math.sin(sinStar * orbitSpeed4) * sunOrbitDiameter + sunGravityX;
star._y = Math.cos(cosStar * orbitSpeed4) * sunOrbitDiameter + sunGravityY;
son._x = Math.sin(sinSon * orbitSpeed5) * sonOrbitDiameter + sonGravityX;
son._y = Math.cos(cosSon * orbitSpeed5) * sonOrbitDiameter + sonGravityY;
mon._x = Math.sin(sinMon * orbitSpeed6) * sonOrbitDiameter + sonGravityX;
mon._y = Math.cos(cosMon * orbitSpeed6) * sonOrbitDiameter + sonGravityY;
}
}

Por menduko23

2 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Oct 2009 06:53 pm
Te sobra el onEnterFrame = function(){

y el ultimo }

Por ur!

256 de clabLevel



 

Barcelona

chrome

 

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