He desarrollado una libreria fisica muy simple que calcula movimientos parabolicos y tambien movimientos ondulares, tambien hay un pequeño detector de colisiones, aunque aun no funciona muy bien.

Funciones:

newObject(Xo,Yo,Vox,Voy,faseo)

Tipo: Array
Funcion: Crea un objeto y lo almacena en una variable, su temporizador comienza a contar, para pararlo se usa oData(Name)[1].T:stop()
Sintaxis: Xo => Posicion inicial en eje X
Yo => Posicion inicial en eje Y
Vox => Velocidad inicial en eje X
Voy => Velocidad inicial en eje Y
faseo => Fase inicial, para movimientos ondulatorios.
Ejem: Caja = newObject(20,35,50,60,0)



oData(Name)

Tipo: Array
Funcion: Proporciona una informacion determinada sobre el objeto especificado en funcion del tiempo almacenado en su temporizador.
Sintaxis: Name => Nombre del objeto, previamente creado con newObject()

oData(Name)[1].X => [Numero real] Proporciona la actual posicion del objeto en el eje X
oData(Name)[1].Y => [Numero real] Proporciona la actual posicion del objeto en el eje Y
oData(Name)[1].T => [Temporizador] Contiene el temporizador del objeto, util para realizar acciones como oData(Name)[1].T:stop() que para el movimiento del objeto
oData(Name)[1].times => [Numero real] Proporciona el tiempo actual del objeto desde que inicio su movimiento

Ejem: Posicion X = oData(Caja)[1].X



oShake(Name,Yo,Amp,Freq)

Tipo: Array
Funcion: Proporciona una informacion determinada y se le suma una unidad (especificada en Freq) a la reiniciar la fase se puede asignar el valor a Name[3].fase.
Sintaxis: Name => Variable que contiene el objeto
Yo => Posicion inicial, punto sobre el que se realizara el movimiento ondulatorio
Amp => Amplitud del movimiento
Freq => Frequencia del movimiento

oShake(Name,Yo,Amp,Freq) [1].Y => Especifica la posicion Y (que puede ser usada para el eje X)
oShake(Name,Yo,Amp,Freq)[1].fase => Especifica la fase.



oCollision(Name,AreaXo,AreaYo,AreaX,AreaY,width,height)

Tipo: Boolean
Funcion: Nos dice si un objeto determinado esta dentro de una area especificada.
Sintaxis: Name => Variable que almacena el objeto
AreaXo => Posicion inicial X del area.
AreaYo => Posicion inicial Y del area.
AreaX => Posicion final X del area.
AreaY => Posicion final Y del area.
width = anchura del objeto.
height = altura del objeto.
Ejem: oCollision(Caja,440,242,480,272,10,10)

Posts Relacionados

Se el primero en comentar!

Publicar un comentario