drawPolygon: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>") |
Lou Montana (talk | contribs) 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 | 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; | |||
[[for]] "_i" [[from]] 1 [[to]] _numVertices [[do]] | [[for]] "_i" [[from]] 1 [[to]] _numVertices [[do]] |
Revision as of 13:04, 12 May 2022
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_numVertices
vertices = []; 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
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