Buenas, tengo un pequeño problema.
Estoy haciendo una especie de tutorial, o base para un juego que hare luego. La idea es que tienes un personaje que siempre esta en el centro de la pantalla, cuando te mueves se mueve el mapa. Puedes disparar, entonces cuando disparas, la bala se crea (attachMovie) en el clip del mapa. Dentro de este mapa, hay otro simbolo que son las plataformas en si, y las balas estan programadas para chocarse con este simbolo. Asi dentro del mapa, tengo las balas que creo, y las plataformas, para asi cuando me muevo se mueve todo el mapa.
Ahora mi problemas es que no anda.
El codigo es algo asi;
Codigo el primer frame, aqui se define la funcion de la bala para que se choque.

Código :

Stage.showMenu = 0();
_root.map.map1._alpha = 50;
_root.moveMode = 1;
function movete(xL, yL, obj, b) {
   var _loc1 = _root.map.map1;
   var _loc2 = yL;
   var _loc3 = xL;
   h = false;
   if (!_loc1.hitTest(obj._x+_loc3+b.xMin, obj._y+_loc2+b.yMin, true)) {
      if (!_loc1.hitTest(obj._x+_loc3+b.xMax, obj._y+_loc2+b.yMin, true)) {
         if (!_loc1.hitTest(obj._x+_loc3+b.xMin, obj._y+_loc2+b.yMax, true)) {
            if (!_loc1.hitTest(obj._x+_loc3+b.xMax, obj._y+_loc2+b.yMax, true)) {
               obj._x = obj._x+_loc3;
               obj._y = obj._y+_loc2;
               h = true;
            }
         }
      }
   }
   return (h);
}

Luego, el codigo del simbolo del personaje (moverse, girar, crear la bala, y darle codigo)

Código :

onClipEvent (load) {
   _root.stageX = Stage.width;
   _root.stageY = Stage.height;
   xMov = 0;
   yMov = 0;
   angle = 0;
   function getAngle() {
      x = this._xmouse;
      y = this._ymouse*-1;
      angle = Math.atan(y/x)/(Math.PI/180);
      if (x<0) {
         angle += 180;
      }
      if (x>=0 && y<0) {
         angle += 360;
      }
      _root.wawa._rotation = angle*-1;
   }
}
onClipEvent (mouseMove) {
   getAngle();
   updateAfterEvent();
}
onClipEvent (mouseDown) {
   var bullet_mc:MovieClip = _root.map.attachMovie("bala", "b"+_root.map.getNextHighestDepth(), _root.map.getNextHighestDepth());
   bullet_mc._x = _root.wawa._x-_root.map._x;
   bullet_mc._y = _root.wawa._y-_root.map._y;
   trace(bullet_mc._x+" "+bullet_mc._y);
   bulletAngle = ((_root.wawa._rotation)*Math.PI/180);
   bullet_mc.xSpeed = Math.cos(bulletAngle)*4;
   bullet_mc.ySpeed = Math.sin(bulletAngle)*4;
   bullet_mc._rotation = _root.wawa._rotation;
   bullet_mc.onEnterFrame = function() {
      b = this.getBounds(this);
      _root.movete(this.xSpeed, this.ySpeed, this, b);
   };
}
onClipEvent (enterFrame) {
   if (_root.moveMode == 1) {
      _x -= xMov;
      _y -= yMov;
      _root.wawa._x -= xMov;
      _root.wawa._y -= yMov;
   } else if (_root.moveMode == 2) {
      _root.map._x += xMov;
      _root.map._y += yMov;
   }
   getAngle();
}
onClipEvent (keyDown) {
   if (Key.isDown(Key.LEFT)) {
      xMov = 4;
      yMov = 0;
   } else if (Key.isDown(Key.RIGHT)) {
      xMov = -4;
      yMov = 0;
   } else if (Key.isDown(Key.UP)) {
      xMov = 0;
      yMov = 4;
   } else if (Key.isDown(Key.DOWN)) {
      xMov = 0;
      yMov = -4;
   }
}
onClipEvent (keyUp) {
   xMov = 0;
   yMov = 0;
}

La variable _root.moveMode indica si se movera el personaje, o el mapa. Cuando es 1, se mueve el Pj, en 2, el mapa.
Cuando es 2, al principio anda, disparo y la bala se mueve y se choca correctamente. Al moverme, o sea, el simbolo mapa se mueve, las balas empiezan a moverse, cosa que no deberia pasar. Luego de eso las balas empizan a chocarse mal.
Aqui un link con el archivo. Prueben cambiando la variable y vean como funciona. Click aqui
Alguien podria darme una mano ?

Desde ya, Gracias~