drawPolygon: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
Line 19: Line 19:


|x1= <code>test_polygon = [];
|x1= <code>test_polygon = [];
for "_i" from 1 to 12 [[do]]
for "_i" from 1 to 12 do  
{
{
test_polygon [[pushBack]] ([[player]] [[getPos]] [10 + [[random]] 100, 360/_i]);
test_polygon [[pushBack]] ([[player]] [[getPos]] [10 + [[random]] 100, 360/_i]);
Line 33: Line 33:
private _numVertices [[a = b|=]] 2;
private _numVertices [[a = b|=]] 2;
private _numVertices [[a = b|=]] _numVertices max 3;
private _numVertices [[a = b|=]] _numVertices max 3;
[[private]] _radius [[a = b|=]] 100;
private _radius [[a = b|=]] 100;


[[for]] "_i" [[from]] 1 [[to]] _numVertices [[do]]
[[for]] "_i" [[from]] 1 [[to]] _numVertices [[do]]

Revision as of 13:04, 12 May 2022

Hover & click on the images for description

Description

Description:
Draws given polygon on the given map control with given color. The polygon must consist of at least 3 points. Unlike with other draw* commands and due to complexity, this command does not support filling of the polygon with color. Use drawTriangle command to construct and fill polygon shape as a workaround.
Groups:
GUI Control - Map

Syntax

Syntax:
map drawPolygon [polygon, color]
Parameters:
map: Control
polygon: Array of Position3D
color: Color (RGBA)
Return Value:
Nothing

Examples

Example 1:
test_polygon = []; for "_i" from 1 to 12 do { test_polygon pushBack (player getPos [10 + random 100, 360/_i]); }; findDisplay 12 displayCtrl 51 ctrlAddEventHandler ["Draw", { params ["_control"]; _control drawPolygon [test_polygon, [0,0,1,1]]; }];
Example 2:
Draw a polygon by adjusting the _radius and _numVerticesvertices = []; private _numVertices = 2; private _numVertices = _numVertices max 3; private _radius = 100; for "_i" from 1 to _numVertices do { vertices pushBack (player getRelPos [_radius, 360/_numVertices * _i]); }; findDisplay 12 displayCtrl 51 ctrlAddEventHandler ["Draw", { params ["_control"]; _control drawPolygon [vertices, [0,0,1,1]]; }];

Additional Information

See also:
drawEllipse drawIcon drawLine drawRectangle drawArrow drawTriangle inPolygon

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note