OsGetDrawStringSize
De DigiWiki.
Version du 18 décembre 2014 à 12:36 par Djphil (discuter | contributions)
// Example of osGetDrawStringSize default { state_entry() { string CommandList = ""; // Storage for our drawing commands string TextToDraw = "Hello, World!"; // text to draw vector Extents = osGetDrawStringSize( "vector", TextToDraw, "Arial", 14 ); integer xpos = 128 - ((integer) Extents.x >> 1); // Center the text horizontally integer ypos = 127 - ((integer) Extents.y >> 1); // and vertically CommandList = osMovePen( CommandList, xpos, ypos ); // Position the text CommandList = osDrawText( CommandList, TextToDraw ); // Place the text // Now draw the text osSetDynamicTextureData( "", "vector", CommandList, "width:256,height:256", 0 ); } }
// Example / Sample Script to show function use. // // Script Title: osGetDrawStringSize.lsl // Script Author: // Threat Level: VeryLow // Script Source: // REFERENCES: http://opensimulator.org/wiki/osGetDrawStringSize // http://opensimulator.org/wiki/Drawing_commands // // Notes: See Script Source reference for more detailed information // This sample is full opensource and available to use as you see fit and desire. // Threat Levels only apply to OSSL & AA Functions // See http://opensimulator.org/wiki/Threat_level // // Inworld Script Line : vector osGetDrawStringSize( string contentType, string text, string fontName, integer fontSize); // // Example of osGetDrawStringSize // // SPECIAL NOTES See References for breakdown of values // string contentType = "vector"; string text = "Hello"; // Valid Fonts that are usable See: http://www.w3schools.com/css/css_websafe_fonts.asp string fontName = "Arial"; integer fontSize = 14; // integer Touched = FALSE; default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osGetDrawStringSize to write some text on the Prim Faces"); } touch_end(integer num) { string AvatarName = llKey2Name(llDetectedKey(0)); if(Touched) { Touched = FALSE; llSetTexture(TEXTURE_PLYWOOD, ALL_SIDES); } else { Touched = TRUE; string DrawList = ""; string TextToDraw = text + " " + AvatarName; // text to display vector Extents = osGetDrawStringSize( contentType, TextToDraw, fontName, fontSize ); integer xpos = 128 - ((integer) Extents.x >> 1); // Center the text horizontally integer ypos = 128 - ((integer) Extents.y >> 1); // and vertically DrawList = osMovePen( DrawList, xpos, ypos ); // Position the text DrawList = osDrawText( DrawList, TextToDraw ); // Place the text // Now draw the text osSetDynamicTextureData( "", "vector", DrawList, "width:256,height:256", 0 ); } } }