Difference between revisions of "FindScreenWidth"

From Second Life Wiki
Jump to navigation Jump to search
m
m (<lsl> tag to <source>)
Line 2: Line 2:




<lsl>//Find Screen Width
<source lang="lsl2">//Find Screen Width
//By Darwin Recreant
//By Darwin Recreant


Line 18: Line 18:
         llOwnerSay((string)screen_width);
         llOwnerSay((string)screen_width);
     }
     }
}</lsl>
}</source>






{{LSLC|Examples}}
{{LSLC|Examples}}

Revision as of 14:52, 24 January 2015

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);
    }
}