top of page

at_rot_target

Se ejecuta cuando el target de tipo rotational es alcanzado tras la ejecución de la función llRotTarget

Se utiliza para controlar cuando llega a una posición de rotación definida como objetivo.

Se puede utilizar conjuntamente con el evento not_at_rot_target y la función llRotTargetRemove

 

Su forma es la siguiente:

 

at_rot_target( integer handle, rotation targetrot, rotation ourrot )

 

}

 

 

Ejemplo:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Explicacion:

 

El concepto del uso de llRotTarget y los eventos at_rot_target y not_at_rot_target es el siguiente:

 

El script esta basado en 2 estados, el estado default (por defecto) y el estado tras la rotación (state rotatestate).

De igual manera, se va cambiando del evento at_rot_target a not_at_rot_target, segun el angulo de rotación que tenga el prim.

 

Ambos eventos son ejecutados con la llamada de la función llRotTarget.

Quedan preparados en espera de que el prim rote a la rotación definida en las variables. 

El objetivo (posicion de rotacion) que devuelve la función llRotTarget es registrada en la variable rottarget.

Cuando tocamos el prim se ejecuta el primer touch_start, el cual nos cambia de estado, pasando al estado de nombre rotatestate.

Cuando el prim rota, tras la orden de rotación con la funcion llSetPrimitiveParams ([PRIM_ROTATION,....., all llegar a 45 grados en X, se ejecutara el evento at_rot_target, ya que ha llegado al objetivo de la rotación.

Dentro de este evento, se resetea la variable rottarget (se borra el objetivo) con la función llRotTargetRemove.

Despues del evento at_rot_target, se encuentra el evento touch_start. Cuando se toque de nuevo el prim, volvera al estado default, dara nuevo valor de rotacion a la variable rottarget y girara otra vez. Esta ves el objetivo de la rotación es 0 grados en x.

Así, se va cambiando de posición de rotacion cada vez que se toque el prim.

 

 

 

 

 

Eventos relacionados:

 

not_at_rot_target

at_target

not_at_target

 

Funciones relacionados:

 

llTarget

llTargetRemove

llRotTarget

llRotTargetRemove

bottom of page