Aquí esta el archivo *.fla (CS4):
mediafire.com/?g1uggz3nzmw
el codigo se encuentra en el clip de pelicula automataBueno_mc en el fotograma 1 de la capa scripts
Aquí el codigo por si las moscas:
Código:
Muchas gracias!xDirec = 1; //Es 0 si no se esta moviendo y 1 si se esta moviendo yDirec = 0; //Es 0 si no se esta moviendo y 1 si se esta moviendo margen = 10; //Margen del automata (la mitad del ancho y alto) this.onEnterFrame = function() { if ((this._parent.murrallas_mc.hitTest(this._x - margen, this._y, true) || this._parent.murallas_mc.hitTest(this._x + margen, this._y, true)) && xDirec != 0) //Comprueba si colisiona horizontalmente { if (this._parent.murallas_mc.hitTest(this._x, this._y - margen, true)) //Comprueba si ademas colisiona verticalmente (superior) { yDirec = 1; xDirec = 0; } else if (this._parent.murallas_mc.hitTest(this._x, this._y + margen, true)) //Comprueba si ademas colisiona verticalmente (inferior) { yDirec = -1; xDirec = 0; } else //Se ejecuta si solo colisiona horizontalmente (en el medio) { valor = Math.floor(Math.random() * 2 + 1); if (valor == 1) //Va hacia abajo { yDirec = 1; xDirec = 0; } else //Va hacia arriba { yDirec = -1; xDirec = 0; } } } else if ((this._parent.murrallas_mc.hitTest(this._x, this._y - margen, true) || this._parent.murallas_mc.hitTest(this._x, this._y + margen, true)) && yDirec != 0) //Comprueba si colisiona verticalmente { if (this._parent.murallas_mc.hitTest(this._x - margen, this._y, true)) //Comprueba si ademas colisiona horizontalmente (izquierda) { xDirec = 1; yDirec = 0; } else if (this._parent.murallas_mc.hitTest(this._x + margen, this._y, true)) //Comprueba si ademas colisiona horizontalmente (derecha) { xDirec = -1; yDirec = 0; } else //Se ejecuta si solo colisiona verticalmente (en el medio) { valor = Math.floor(Math.random() * 2 + 1); if (valor == 1) //Va hacia la derecha { xDirec = 1; yDirec = 0; } else //Va hacia la izquierda { xDirec = -1; yDirec = 0; } } } this.desplazarClip(xDirec, yDirec); //Desplaza el automata (x, y) };
salu2