FindScreenWidth

From Second Life Wiki
Revision as of 16:41, 3 February 2023 by Gwyneth Llewelyn (talk | contribs) (Replaced <source> with <syntaxhighlight>; restyled the code to be more in line with the 'standard' way of writing code on the SL Wiki)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The script below will give the width of the screen in meters by touching anywhere on the visible face, given that the prim is a box with zero rotation and attached at one of the corner HUD attachment points.

//Find Screen Width
//By Darwin Recreant

default
{
    touch_start(integer total_number)
    {
        vector scale       = llGetScale();
        vector off_point   = llGetLocalPos();
        vector face_pos    = llDetectedTouchST(0);
        vector screen_pos  = llDetectedTouchPos(0);
        
        float screen_width = ((face_pos.x - .5) * scale.y - off_point.y + screen_pos.y) * 2;
        
        llOwnerSay((string)screen_width);
    }
}