6/3/08

Aprendiendo a programar.

Poco falta para la entrega de un proyecto web para flash y he decidido aprovechar actionscript en esto del SEO.

Asi que asi nos ayudamos todos. Esto es un ejemplo para una botonera de 5 botones metidos dentro de una contenedora. Cada uno de los botones tendrá una ecuación diferente con la que animaremos y manejaremos a nuestro antojo. Bien ahi va. El código es algo complejo pero en sí mismo es muy simple. Para gente que este empezando:

Vamos a crear un contenedor del tamaño de nuestro documento que en este caso es 600px*500px
A la contenedora la llamamos, poligamia. Sobra decir que a poligamia le quitamos le bajamos la opacidad al 0 por ciento.
Una vez creado el moviclip hacemos click en el y en su nombre de instancia escribimos nuevamente poligamia.

Dentro de poligamia creamos crearemos 5 movie clips.

Al primer movie clip lo llamamos fornicio, al segundo poliandria, al terecero poliginia, al cuarto felonia y al quinto desambiguacion.

Queremos que cuando hagamos click en cada uno de los botones nos mueva el objeto o nos rote o nos cambie de opacidad, o lo que sea.

Empezaremos con fornicio.

fornicio.onRelease = function () {
var fornicio-boolean = true
if (fornicio-boolean==true) {
function ecuacionVA-fornicio(fornicio, posxF, altF, widF, posyF)
fornicio-boolean=false;
}
else if(fornicio-boolean==false){
ecuacionVIENE-fornicio(fornicio, posxF, altF, widF, posyF)
fornicio-boolean=true;
}
}
Ahora ya tenemos hecho el boton, una vez pasemos por fornicio aplicaremos ecuacionVA sobre el mismo y a la vuelta. Ponemos detras de cada una de las ecuaciones fornicio por que asi adjudicamos a fornicio la ecuacion. Creo que se entiende? no? Aporten dudas y comentarios.

Ahora para hacerla con los demas botones haremos lo siguiente:

poliginia.onRelease = function () {
var poliginia-boolean = true
if (poliginia-boolean==true) {
ecuacionVA-poliginia(poliginia, posxF, altF, widF, posyF)
poliginia-boolean=false;
}
else if(poliginia-boolean==false){
ecuacionVIENE-poliginia(poliginia, posxF, altF, widF, posyF)
poliginia-boolean=true;
}
}
poliandria.onRelease = function () {
var poliandria-boolean = true
if (poliandria-boolean==true) {
ecuacionVA-poliandria(poliandria, posxF, altF, widF, posyF)
poliandria-boolean=false;
}
else if(poliandria-boolean==false){
ecuacionVIENE-poliandria(poliandria, posxF, altF, widF, posyF)
poliandria-boolean=true;
}
}
felonia.onRelease = function () {
var felonia-boolean = true
if (felonia-boolean==true) {
ecuacionVA-felonia(felonia, posxF, altF, widF, posyF)
felonia-boolean=false;
}
else if(felonia-boolean==false){
ecuacionVIENE-felonia(felonia, posxF, altF, widF, posyF)
felonia-boolean=true;
}
}

desambiguacion.onRelease = function () {
var desambiguacion-boolean = true
if (desambiguacion-boolean==true) {
ecuacionVA-desambiguacion(desambiguacion, posxF, altF, widF, posyF)
fornicio-boolean=false;
}
else if(desambiguacion-boolean==false){
ecuacionVIENE-desambiguacion(desambiguacion, posxF, altF, widF, posyF)
desambiguacion-boolean=true;
}
}

function ecuacionVA-fornicio(fornicio, posxF, altF, widF, posyF) {
var fornicio._x=0
var fornicio._y=0
var fornicio._height=0
var fornicio._width=0
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;

clip.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;

}
};
}
function ecuacionVUELVE-fornicio(fornicio, posxF, alttF, widF, posyF) {

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;

clip.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;

}
};
}


Y en los siguientes botones haría lo mismo. posxF, altF, widF, y posyF, son los valores finales de posicion en x altura anchura y posicion en y respectivamente.
Estos valores los introduciriamos asi:

function ecuacionVA-fornicio(fornicio, 100, 250, 300, 50)

El boton fornicio se iria a la posicion en x = 100 y = 50 y tendria una altura de 250px y una anchura de 300px.

Asi haríamos las siguientes:



function ecuacionVA-poliginia(poliginia, posxF, altF, widF, posyF) {
var poliginia._x=0
var poliginia._y=0
var poliginia._height=0
var poliginia._width=0
poliginia.enabled = 0;
var c:Number = poliginia._x;
var d:Number = posF;
var a:Number = poliginia._height;
var b:Number = altF;
var an:Number = poliginia._width;
var cho:Number = widF;
var po:Number = poliginia._y;
var sy:Number = posyF;
var vel:Number = 4;

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

}
};
}
function ecuacionVUELVE-poliginia(poliginia, posxF, alttF, widF, posyF) {

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

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

}
};
}

function ecuacionVA-poliandria(poliandria, posxF, altF, widF, posyF) {
var poliandria._x=0
var poliandria._y=0
var poliandria._height=0
var poliandria._width=0
poliandria.enabled = 0;
var c:Number = poliandria._x;
var d:Number = posF;
var a:Number = poliandria._height;
var b:Number = altF;
var an:Number = poliandria._width;
var cho:Number = widF;
var po:Number = poliandria._y;
var sy:Number = posyF;
var vel:Number = 4;

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

}
};
}
function ecuacionVUELVE-poliandria(poliandria, posxF, alttF, widF, posyF) {

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

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

}
};
}
function ecuacionVA-desambiguacion(desambiguacion, posxF, altF, widF, posyF) {
var desambiguacion._x=0
var desambiguacion._y=0
var desambiguacion._height=0
var desambiguacion._width=0
desambiguacion.enabled = 0;
var c:Number = desambiguacion._x;
var d:Number = posF;
var a:Number = desambiguacion._height;
var b:Number = altF;
var an:Number = desambiguacion._width;
var cho:Number = widF;
var po:Number = desambiguacion._y;
var sy:Number = posyF;
var vel:Number = 4;

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

}
};
}
function ecuacionVUELVE-desambiguacion(desambiguacion, posxF, alttF, widF, posyF) {

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

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

}
};
}
function ecuacionVA-felonia(felonia, posxF, altF, widF, posyF) {
var felonia._x=0
var felonia._y=0
var felonia._height=0
var felonia._width=0
felonia.enabled = 0;
var c:Number = felonia._x;
var d:Number = posF;
var a:Number = felonia._height;
var b:Number = altF;
var an:Number = felonia._width;
var cho:Number = widF;
var po:Number = felonia._y;
var sy:Number = posyF;
var vel:Number = 4;

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

}
};
}
function ecuacionVUELVE-felonia(felonia, posxF, alttF, widF, posyF) {

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

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

}
};
}

No hay comentarios: