BIS fnc drawArrow: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " |r1=[[" to " |r1= [[")
m (Text replacement - "{{Feature|Informative|" to "{{Feature|informative|")
 
(5 intermediate revisions by the same user not shown)
Line 6: Line 6:
|gr1= Map and Markers
|gr1= Map and Markers


|descr= Draws a static arrow (outline or color filled) on map. See Example 4 for arrow removal.
|descr= Draws a static arrow (outline or color filled) on map. See {{Link|#Example 4}} for arrow removal.
{{Feature|Informative|Note that the order in which arrows are added to map is reversed, the last added arrow will appear under the first added arrow}}
{{Feature|informative|Note that the order in which arrows are added to map is reversed, the last added arrow will appear under the first added arrow}}


|s1=[from, to, color, pars, fill, map] call [[BIS_fnc_drawArrow]]
|s1= [from, to, color, pars, fill, map] call [[BIS_fnc_drawArrow]]


|p1= from: [[Array]] - Arrow start position in format [x,y] or [x,y,z]
|p1= from: [[Array]] - arrow start position in format [x,y] or [x,y,z]
|p2= to: [[Array]] - Arrow end position in format [x,y] or [x,y,z]
|p3= color (Optional): [[Array]] - Arrow line or fill color in format [r,g,b,a]. Default: [1,1,1,1]
|p4= pars (Optional): [[Array]] - Arrow geometry details in format [arrowThickness, arrowHeadLengthCoef, arrowHeadWidthCoef], where:
* arrowThickness (Optional):  [[Number]] - Arrow thickness in meters. Default: 10
* arrowHeadLengthCoef (Optional):  [[Number]] - Arrow head length compared to the total length of the arrow. Default: 1/3 (third of the length)
* arrowHeadWidthCoef (Optional):  [[Number]] - Arrow head width compared to the arrow thickness. Default: 2 (twice as wide)
* arrowBaseWidthCoef (Optional):  [[Number]] - Arrow base width compared to the arrow thickness. Default: 1 (same width)  - ''Since Arma 3 v1.97''
|p5= fill (Optional): [[Boolean]] - [[true]] to draw color filled arrow, [[false]] to draw outline. Default: [[true]]
|p6= map (Optional): [[Control]] - Map control. Default: [[displayCtrl|control]] 51 of the main map [[findDisplay|display]] 12


|r1= [[Array]] - Arrow reference for removal in format [idd, idc, ehId] or empty array [] on removal operation
|p2= to: [[Array]] - arrow end position in format [x,y] or [x,y,z]


<br><br>[[Image:fnc_drawArrow.jpg|448px]] [[Image:BIS_fnc_drawArrow2.jpg|400px]]
|p3= color: [[Array]] format [[Color|Color (RGBA)]] - (Optional, default [1,1,1,1]) arrow line or fill color


|x1= Draw a semi-transparent, blue arrow with default geometry:<code>myArrow1 = [_pos1, _pos2, [0,0,1,0.5]] [[call]] [[BIS_fnc_drawArrow]];</code>
|p4= pars: [[Array]] - (Optional) arrow geometry details in format [arrowThickness, arrowHeadLengthCoef, arrowHeadWidthCoef], where:
|x2= Draw a wide, green arrow outline:<code>myArrow2 = [_pos1, _pos2, [0,1,0,1], [20], [[false]]] [[call]] [[BIS_fnc_drawArrow]];</code>
* arrowThickness: [[Number]] - (Optional, default 10) arrow thickness in meters
|x3= Draw a thin, red arrow with custom head geometry:<code>myArrow3 = [_pos1, _pos2, [1,0,0,1], [1,1/5,5]] [[call]] [[BIS_fnc_drawArrow]];</code>
* arrowHeadLengthCoef:  [[Number]] - (Optional, default 1/3) arrow head length compared to the total length of the arrow
|x4= Remove the arrow created in Example 3:<code>myArrow3 [[call]] [[BIS_fnc_drawArrow]];</code>
* arrowHeadWidthCoef:  [[Number]] - (Optional, default 2) arrow head width compared to the arrow thickness
|x5= <code>myArrow1 = [<nowiki/>[100,400,0], [200,500,0], [1,0,0,1], [20], [[true]]] [[call]] [[BIS_fnc_drawArrow]];  
* {{GVI|arma3|1.98|size= 0.75}} arrowBaseWidthCoef: [[Number]] - (Optional, default 1) arrow base width compared to the arrow thickness
myArrow2 = [<nowiki/>[400,700,0], [300,600,0], [0,1,0,1], [20, 1/3, 2, 2], [[true]]] [[call]] [[BIS_fnc_drawArrow]];  
 
myArrow3 = [<nowiki/>[600,700,0], [400,900,0], [0,0,1,1], [20, 1/3, 2, 0.5], [[true]]] [[call]] [[BIS_fnc_drawArrow]];  
|p5= fill: [[Boolean]] - (Optional, default [[true]]) [[true]] to draw color filled arrow, [[false]] to draw outline
myArrow4 = [<nowiki/>[100,100,0], [200,200,0], [0,0,0,1], [20], [[false]]] [[call]] [[BIS_fnc_drawArrow]];  
 
myArrow5 = [<nowiki/>[400,400,0], [300,300,0], [1,1,1,1], [20, 1/3, 2, 2], [[false]]] [[call]] [[BIS_fnc_drawArrow]];  
|p6= map: [[Control]] - (Optional, default [[findDisplay|display]] 12 [[displayCtrl]] 51) map control
myArrow6 = [<nowiki/>[600,400,0], [400,600,0], [0,1,1,1], [20, 1/3, 2, 0.5], [[false]]] [[call]] [[BIS_fnc_drawArrow]];</code>
 
|r1= [[Array]] - arrow reference for removal in format [idd, idc, ehId] or empty array [] on removal operation
 
<br><br>[[File:fnc_drawArrow.jpg|448px]] [[File:BIS_fnc_drawArrow2.jpg|400px]]
 
|x1= Draw a semi-transparent, blue arrow with default geometry:
<sqf>myArrow1 = [_pos1, _pos2, [0,0,1,0.5]] call BIS_fnc_drawArrow;</sqf>
 
|x2= Draw a wide, green arrow outline:
<sqf>myArrow2 = [_pos1, _pos2, [0,1,0,1], [20], false] call BIS_fnc_drawArrow;</sqf>
 
|x3= Draw a thin, red arrow with custom head geometry:
<sqf>myArrow3 = [_pos1, _pos2, [1,0,0,1], [1,1/5,5]] call BIS_fnc_drawArrow;</sqf>
 
|x4= Remove the arrow created in {{Link|#Example 3}}:
<sqf>myArrow3 call BIS_fnc_drawArrow;</sqf>
 
|x5= <sqf>
myArrow1 = [[100,400,0], [200,500,0], [1,0,0,1], [20], true] call BIS_fnc_drawArrow;
myArrow2 = [[400,700,0], [300,600,0], [0,1,0,1], [20, 1/3, 2, 2], true] call BIS_fnc_drawArrow;
myArrow3 = [[600,700,0], [400,900,0], [0,0,1,1], [20, 1/3, 2, 0.5], true] call BIS_fnc_drawArrow;
myArrow4 = [[100,100,0], [200,200,0], [0,0,0,1], [20], false] call BIS_fnc_drawArrow;
myArrow5 = [[400,400,0], [300,300,0], [1,1,1,1], [20, 1/3, 2, 2], false] call BIS_fnc_drawArrow;
myArrow6 = [[600,400,0], [400,600,0], [0,1,1,1], [20, 1/3, 2, 0.5], false] call BIS_fnc_drawArrow;
</sqf>


|seealso= [[drawArrow]]
|seealso= [[drawArrow]]
}}
}}

Latest revision as of 00:25, 2 February 2024

Hover & click on the images for description

Description

Description:
Draws a static arrow (outline or color filled) on map. See Example 4 for arrow removal.
Note that the order in which arrows are added to map is reversed, the last added arrow will appear under the first added arrow
Execution:
call
Groups:
Map and Markers

Syntax

Syntax:
[from, to, color, pars, fill, map] call BIS_fnc_drawArrow
Parameters:
from: Array - arrow start position in format [x,y] or [x,y,z]
to: Array - arrow end position in format [x,y] or [x,y,z]
color: Array format Color (RGBA) - (Optional, default [1,1,1,1]) arrow line or fill color
pars: Array - (Optional) arrow geometry details in format [arrowThickness, arrowHeadLengthCoef, arrowHeadWidthCoef], where:
  • arrowThickness: Number - (Optional, default 10) arrow thickness in meters
  • arrowHeadLengthCoef: Number - (Optional, default 1/3) arrow head length compared to the total length of the arrow
  • arrowHeadWidthCoef: Number - (Optional, default 2) arrow head width compared to the arrow thickness
  • Arma 3 logo black.png1.98 arrowBaseWidthCoef: Number - (Optional, default 1) arrow base width compared to the arrow thickness
fill: Boolean - (Optional, default true) true to draw color filled arrow, false to draw outline
map: Control - (Optional, default display 12 displayCtrl 51) map control
Return Value:
Array - arrow reference for removal in format [idd, idc, ehId] or empty array [] on removal operation

fnc drawArrow.jpg BIS fnc drawArrow2.jpg

Examples

Example 1:
Draw a semi-transparent, blue arrow with default geometry:
myArrow1 = [_pos1, _pos2, [0,0,1,0.5]] call BIS_fnc_drawArrow;
Example 2:
Draw a wide, green arrow outline:
myArrow2 = [_pos1, _pos2, [0,1,0,1], [20], false] call BIS_fnc_drawArrow;
Example 3:
Draw a thin, red arrow with custom head geometry:
myArrow3 = [_pos1, _pos2, [1,0,0,1], [1,1/5,5]] call BIS_fnc_drawArrow;
Example 4:
Remove the arrow created in Example 3:
myArrow3 call BIS_fnc_drawArrow;
Example 5:
myArrow1 = [[100,400,0], [200,500,0], [1,0,0,1], [20], true] call BIS_fnc_drawArrow; myArrow2 = [[400,700,0], [300,600,0], [0,1,0,1], [20, 1/3, 2, 2], true] call BIS_fnc_drawArrow; myArrow3 = [[600,700,0], [400,900,0], [0,0,1,1], [20, 1/3, 2, 0.5], true] call BIS_fnc_drawArrow; myArrow4 = [[100,100,0], [200,200,0], [0,0,0,1], [20], false] call BIS_fnc_drawArrow; myArrow5 = [[400,400,0], [300,300,0], [1,1,1,1], [20, 1/3, 2, 2], false] call BIS_fnc_drawArrow; myArrow6 = [[600,400,0], [400,600,0], [0,1,1,1], [20, 1/3, 2, 0.5], false] call BIS_fnc_drawArrow;

Additional Information

See also:
drawArrow

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