Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/06/2010, 18:08
eronemamone
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Problemas al crear galeria interactiva

Buenas ,

He arreglado un poco más el codigo y ahora me falla en la carga de imagenes, el error es :

TypeError: Error #1123: Operador de filtro no admitido en el tipo Scene3D.
at com.clases::Jessi/galeria()
Error #2044: IOErrorEvent no controlado: text=Error #2035: No se encuentra la dirección URL.



Código AS3:
Ver original
  1. function galeria(event:Event) {
  2.            
  3.             //creamos un objeto viewer
  4.         var viewer:Object = new Object();
  5.         viewer.z=0;
  6.         viewer.x=0;
  7.         viewer.y=0;
  8.                              
  9.         // parametros de la camara "viewer"
  10.         var d:Number = 150;          // distancia del observador al plano 2d
  11.         var viewerSpeed:Number = 10; // velocidad del viewer
  12.         var tooClose:Number = 100;   // cuando es demasiado cerca    
  13.  
  14.         // crear dibujo plano: una movie clip scene3D
  15.         // y la posicion en medio además de otro para incluirlo
  16.         var escena:Scene3D = new Scene3D();
  17.         escena.x = stage.width/2;
  18.         escena.y = stage.height/2;
  19.        
  20.        
  21.         // numero objetos
  22.         var numberOfObjects:Number = 9;
  23.  
  24.         // definicion de los arrays de cordenadas
  25.         var xdata:Array = new Array();
  26.         var ydata:Array = new Array();
  27.         var zdata:Array = new Array();
  28.         var thisObj:Object = new Object();
  29.        
  30.         xdata = []; ydata = []; zdata = [];
  31.  
  32.         xdata = [ -1000, -500, 0, 500, 1000,
  33.           -1000, -500, 0, 500, 1000,
  34.           -1000, -500, 0, 500, 1000 ]
  35.  
  36.         ydata = [ 100, 100, 100, 100, 100,
  37.           100, 100, 100, 100, 100,
  38.           100, 100, 100, 100, 100 ]
  39.  
  40.         zdata = [  600,  601,  602,  603, 604,
  41.            900,  901,  902,  903, 904,
  42.           1200, 1201, 1202, 1203, 1204 ]
  43.  
  44.         // añadimos los objetos
  45.         for (var i:Number = 1; i <= numberOfObjects; i++)   {
  46.            
  47.             var imagenURL:URLRequest = new URLRequest("sanJuan/"+i+".JPG");
  48.             var imagenLoader:Loader = new Loader();
  49.             imagenLoader.load(imagenURL);
  50.             escena.("object"+i).load(imagenLoader);
  51.             thisObj = escena.("object"+i);
  52.             placeObj();
  53.         }
  54.  
  55.         // y los colocamos
  56.             function placeObj() {
  57.                thisObj.x = xdata[i-1];
  58.                thisObj.y = ydata[i-1];
  59.                thisObj.z = zdata[i-1];
  60.             }
  61.  
  62.         // mostramos
  63.             function displayObj() {
  64.                 // limites en la linez z
  65.                 if (viewer.z < -1000 ) {
  66.                     viewer.z = -1000
  67.                 }
  68.                 if (viewer.z > 900 )   {
  69.                     viewer.z = 900
  70.                 }          
  71.  
  72.                 // limites  linea x
  73.                 if (viewer.x < -1200 ) {
  74.                     viewer.x = -1200
  75.                 }
  76.                 if (viewer.x > 1800 )  {
  77.                     viewer.x = 1800
  78.                 }
  79.    
  80.                 // limites linea y
  81.                 if (viewer.y < -700 ) { viewer.y = -700 }
  82.                 if (viewer.y >  300 ) { viewer.y =  300 }  
  83.    
  84.                 // calculamos posicion relativa del viewer
  85.                 var tx:Number = thisObj.x - viewer.x;  // tx,ty,tz son la  
  86.                 var ty:Number = thisObj.y - viewer.y;  // coordenadas de los objetos
  87.                 var tz:Number = thisObj.z - viewer.z;  // relativas a la camara
  88.    
  89.                 // el radio de perspectiva
  90.                 var pRatio:Number = d/tz;              
  91.    
  92.                 // aplicamos el radio y escalamos
  93.                 thisObj.x =  tx * pRatio;    
  94.                 thisObj.y = -ty * pRatio;  // need minus sign for Flash coords
  95.                 thisObj.scaleX = thisObj._yscale = 100 * pRatio;
  96.    
  97.                 // poner capas delante
  98.                 thisObj.swapDepths(Math.round(-thisObj.z));
  99.            
  100.                 // comprobacion demasiado cerca
  101.                 if ( tz <= tooClose)
  102.                 { thisObj.visible = false; }
  103.                 else thisObj.visible = true;
  104.                 }
  105.    
  106.                 // creamos al viewer
  107.                
  108.                 plano.addChild(escena)
  109.                 plano.escena.addEventListener(Event.ENTER_FRAME,crearGaleria);
  110.                
  111.                
  112.                 function crearGaleria (){
  113.                
  114.                 // ponemos los datos de cordenadasdel ratn al viewer  
  115.                 viewer.x +=  (mouseX - escena.x)/viewerSpeed;
  116.                 viewer.y += -(mouseY - escena.y)/viewerSpeed;
  117.  
  118.                 // teclas para el movimiento
  119.                  var up:Boolean = false;
  120.                  var down:Boolean = false;
  121.                  var left:Boolean = false;
  122.                  var right:Boolean = false;
  123.        
  124.                
  125.                     stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressHandler);
  126.                     stage.addEventListener(KeyboardEvent.KEY_UP,keyReleaseHandler);
  127.            
  128.                
  129.                
  130.                 function keyPressHandler(event:KeyboardEvent):void
  131.                 {
  132.                 switch( event.keyCode )
  133.                 {
  134.                 case Keyboard.UP:
  135.                     up = true;
  136.                     break;
  137.                    
  138.                 case Keyboard.DOWN:
  139.                     down = true;
  140.                     break;
  141.                    
  142.                 case Keyboard.LEFT:
  143.                     left = true;
  144.                     break;
  145.                    
  146.                 case Keyboard.RIGHT:
  147.                     right = true;
  148.                     break;
  149.             }
  150.         }
  151.        
  152.         function keyReleaseHandler(event:KeyboardEvent):void
  153.         {
  154.             switch( event.keyCode )
  155.             {
  156.                 case Keyboard.UP:
  157.                     up = false;
  158.                     break;
  159.                    
  160.                 case Keyboard.DOWN:
  161.                     down = false;
  162.                     break;
  163.                    
  164.                 case Keyboard.LEFT:
  165.                     left = false;
  166.                     break;
  167.                    
  168.                 case Keyboard.RIGHT:
  169.                     right = false;
  170.                     break;
  171.             }
  172.         }
  173.                 if (up == true)         {
  174.                     viewer.z += viewerSpeed;
  175.                     }
  176.                 else if (down == true)  {
  177.                     viewer.z -= viewerSpeed;
  178.                 }
  179.        
  180.                 // Mostramos
  181.                 for (i= 1; i <= numberOfObjects; i++)
  182.                 {
  183.                     thisObj = escena["object"+i];
  184.                     placeObj();
  185.                   displayObj();
  186.                 }  
  187.             }
  188.  
  189.            
  190.         }


Muchas gracias de antemano,