9/3/08

Aprendiendo a programar II

Bueno despues del codigo del otro día lo he compactado bastante. En vez de realizar una funcion por cada botón ( recordemos : 1- Fornicio 2 - Poliginia 3 - Poliandria 4 - Felonia 5 - Desambiguacion ) ahora he hecho una sola a la que le

var desplazado:Boolean = false;
function nada(fornicio) {

fornicio._y = 400;
fornicio._height = 0;
fornicio._width = 0;
fornicio._alpha = 0;
}
function alpaoff(fornicio) {
fornicio._alpha = 0;
}


function abrirfornicio(fornicio, fornicio2, fornicio3, fornicio4, posF, altF, widF, alpF, posI, altI, widI, alpI, fornicio5) {
var axX:Number;
var posI:Number;
var altI:Number;
var alpI:Number;
fornicio.onRelease = function() {
if (activado == false) {
mover(fornicio,posF,altF,widF,alpF);
desplazarX(musica,309,480,236,-242);
desplazarX(tex,-309,480,236,-242);
mover(fornicio2,-20,0,0,0);
mover(fornicio3,-35,0,0,0);
mover(fornicio4,-40,0,0,0);
mover(fornicio5,0,485,360,100);
activado = true;
desplazado = false;
} else {
desplazarX(tex,0,480,236,-242);
desplazarX(musica,0,480,236,-242);
mover(foto1.b1,0,52,253,100);
mover(b2,-305,52,253,100);
mover(b3,-205,52,253,100);
mover(b4,-105,52,253,100);
mover(fornicio5,0,485,360,100);
activado = false;
var desplazado = false;
}
};
}

function mover(fornicio, posF, altF, widF, alpF) {
fornicio.enabled = 0;
var c:Number = fornicio._y;
var d:Number = posF;
var a:Number = fornicio._height;
var b:Number = altF;
var an:Number = fornicio._width;
var cho:Number = widF;
var al:Number = fornicio._alpha;
var fa:Number = alpF;
var po:Number = fornicio._x;
var sx:Number = 0;
var vel:Number = 6;

fornicio.onEnterFrame = function() {
c = (c+(d-c)/vel);
a = (a+(b-a)/vel);
an = (an+(cho-an)/vel);
al = (al+(fa-al)/vel);
po = (po+(sx-po)/vel);
fornicio._y = c;
var dif:Number = Math.abs(c-d);
fornicio._height = a;
var dif2:Number = Math.abs(a-b);
fornicio._width = an;
var dif3:Number = Math.abs(an-cho);
fornicio._alpha = al;
var dif4:Number = Math.abs(al-fa);
fornicio._x = po;
var dif5:Number = Math.abs(po-sx);
if (dif<1 && dif2<1 && dif3<1 && dif4<1 && dif5<1) {
fornicio._alpha = fa;
fornicio._height = b;
fornicio._width = cho;
fornicio._x = sx;
fornicio._y = d;
delete this.onEnterFrame;
fornicio.enabled = 1;
}
};
/*fornicio.setUNde*/
}
function moverX(fornicio, posF, altF, widF, alpF) {
fornicio.enabled = 0;
var c:Number = fornicio._x;
var d:Number = posF;
var a:Number = fornicio._height;
var b:Number = altF;
var an:Number = fornicio._width;
var cho:Number = widF;
var al:Number = fornicio._alpha;
var fa:Number = alpF;
var vel:Number = 4;
fornicio.onEnterFrame = function() {
c = (c+(d-c)/vel);
a = (a+(b-a)/vel);
an = (an+(cho-an)/vel);
al = (al+(fa-al)/vel);
fornicio._x = c;
var dif:Number = Math.abs(c-d);
fornicio._height = a;
var dif2:Number = Math.abs(a-b);
fornicio._width = an;
var dif3:Number = Math.abs(an-cho);
fornicio._alpha = al;
var dif4:Number = Math.abs(al-fa);
if (dif<1 && dif2<1 && dif3<1 && dif4<1) {
fornicio._alpha = fa;
fornicio._height = b;
fornicio._width = cho;
fornicio._x = d;
delete this.onEnterFrame;
fornicio.enabled = 1;
}
};
}
function desplazarX(fornicio, posF, altF, widF, posyF) {

fornicio.enabled = 0;
var c:Number = fornicio._x;
var d:Number = posF;
var a:Number = fornicio._height;
var b:Number = altF;
var an:Number = fornicio._width;
var cho:Number = widF;
var po:Number = fornicio._y;
var sy:Number = posyF;
var vel:Number = 4;

fornicio.onEnterFrame = function() {
c = (c+(d-c)/vel);
a = (a+(b-a)/vel);
an = (an+(cho-an)/vel);
po = (po+(sy-po)/vel);
fornicio._x = c;
var dif:Number = Math.abs(c-d);
fornicio._height = a;
var dif2:Number = Math.abs(a-b);
fornicio._width = an;
var dif3:Number = Math.abs(an-cho);
fornicio._y = po;
var dif4:Number = Math.abs(po-sy);
if (dif<1 && dif2<1 && dif3<1 && dif4<1) {
fornicio._y = sy;
fornicio._height = b;
fornicio._width = cho;
fornicio._x = d;
delete this.onEnterFrame;
fornicio.enabled = 1;

}
};
}

//ESTOS VALORES SON LOS QUE HAS DE MODIFICAR PARA MOVER LOS OBJETOS

//Ahora solo tenemos que poner al seguir la funcion entre parentesis el nombre de la instancia del objeto que queremos relacionar y sus valores correspondientes en cuanto altura ancho y alto se refiere.
Tambien podemos cambiar el alpha por rotation si se quiere.



//nada(f1);
//nada(b2);
//nada(b3);
//nada(b4);
//nada(tex);
//nada(musica);
//alpaoff(agranda_musica);
//nada(contB.base_mc);
//mover(musica,-200,50,50,100);
//mover(tex,-200,50,50,100);
//
//mover(foto1.b1,0,52,253,100);
//mover(b2,-305,52,253,100);
//mover(b3,-205,52,253,100);
//mover(b4,-105,52,253,100);
//mover(contB.base_mc,0,485,360,100);
//
//abrirfornicio(foto1.b1,b2,b3,b4,165,470,34,10,-405,52,253,100,base_mc);
//abrirfornicio(b2,foto1.b1,b3,b4,-245,444,30,10,-305,52,253,100,base_mc);
//abrirfornicio(b3,b2,foto1.b1,b4,-245,444,30,10,-205,52,253,100,base_mc);
//abrirfornicio(b4,b2,b3,foto1.b1,-245,444,30,10,-105,52,253,100,base_mc);


Nota Si quereis que os funcione mejor, darle a buscar en flash, y remplazar la palabra fornicio por clip en todas las entradas.

No hay comentarios: