LlDetectedGrab
De DigiWiki.
Version du 25 juin 2012 à 23:21 par Djphil (discuter | contributions)
default { state_entry() { llSetStatus(PRIM_PHYSICS,TRUE);//This allows the object to be "grabbed" and dragged } touch(integer num_detected) { llSay(0,(string)llDetectedGrab(0));//Be prepared for a great amount of chatted info. //The faster you move the mouse while grabbing the object the greater the offset becomes. //This is not due to the speed but the reaction time of the turn around of the physical prim, //thus an offset (distance from grab to prim center) is created and measured by this function. } }
/****** Simple llDetectedGrab illustration, rez a prim and add this script. The prim will become a cone that follows mouse grabs. Click and hold the mouse button down on the object, then: - Drag left and right to move parallel to the camera focal plane. - Drag up and down to move to and from the camera. - Hold down Ctrl, then drag up and down to move vertically. ******/ default { state_entry() { llMinEventDelay(0.25); llSetStatus(STATUS_PHYSICS, FALSE); // make the object static for simplicity llSetPrimitiveParams([ PRIM_SIZE, <0.5, 0.5, 0.5>, PRIM_TYPE, PRIM_TYPE_CYLINDER, PRIM_HOLE_DEFAULT, <0.0, 1.0, 0.0>, 0.0, ZERO_VECTOR, ZERO_VECTOR, ZERO_VECTOR ]); // a cone that can follow the mouse pointer } touch(integer total_number) { llLookAt(llGetPos() + llDetectedGrab(0), 1.0, 1.0); } }