Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/01/2011, 11:32
AlanChavez
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 14 años, 5 meses
Puntos: 95
Respuesta: localToGlobal y globalToLocal

No creo que se necesario utilizar los metodos localtoglobal o localToGlobal, porque esos generalmente se utilizan cuando tienes una anidacion compleja de simbolos y cada objeto tiene un sistema de coordinadas diferente, almenos asi le sacarias provecho a esos metodos.

Yo lo haria de esta manera:

Código actionscript:
Ver original
  1. private function crearCuadricula():void
  2.         {
  3.  
  4.             _cuadricula = new Array();
  5.             //ancho de la escena / tamano de la cuadricula = numero de columnas
  6.             for (var i:int = 0; i<stage.stageWidth/CUADRICULA_ANCHO; i++)
  7.             {
  8.                 _cuadricula[i] = new Array();
  9.                 //alto de la escena / tamano de la cuadricula = numero de filas
  10.                 for (var j:int = 0; j<stage.stageHeight/CUADRICULA_ALTO; j++)
  11.                 {
  12.                     _cuadricula[i][j] = new Array();
  13.                 }
  14.             }
  15.         }
  16.  
  17. private function crearBarco():void
  18.         {
  19.             barcos = new Array();
  20.             for (var i:int = 0; i< MAXBARCOS; i++)
  21.             {
  22.                 //crea un barco y lo agrega al display list.
  23.                 // y al array barcos
  24.  
  25.                 var barco:Barco = new Barco();
  26.                 barco.x = Math.random() * stage.stageWidth;
  27.                 barco.y = Math.random() * stage.stageHeight;
  28.                 addChild(barco);
  29.                 barcos.push(barco);
  30.             }
  31.  
  32.  
  33.         }
  34.  
  35. private function enlazarBarcosACuadricula():void
  36.         {
  37.             for (var i:int = 0; i<MAXBARCOS; i++)
  38.             {
  39.                 //dividir la posicion por el tamano de la cuadricula
  40.                 //nos dice en que fila y columna esta el barco
  41.                 var barco:Barco = barcos[i] as Barco;
  42.                 var xpos:int = Math.floor(barco.x / CUADRICULA_ANCHO);
  43.                 var ypos:int = Math.floor(barco.y / CUADRICULA_ALTO);
  44.                 _cuadricula[xpos][ypos].push(barco);
  45.             }
  46.         }

donde _cuadricula[][] es un Array de Arrays (Una Matrix)

En mi página web, publique una clase reusable para dividir en celdas el escenario, y crear una cuadricula o tilebased escena. Entra y quiza encuentres algo interesante.

Aqui te dejo el link

http://alanchavez.com/deteccion-de-c...ased-collision