BIS fnc drawArrow: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " \| *(\[[a-zA-Z,. ]*\] call ('''|\[\[)?BI(N|S)_fnc_[a-zA-Z]+('''|\]\])?) * \|p1=" to " |s1=$1 |p1=")
m (Text replacement - "{{Feature|Informative|" to "{{Feature|informative|")
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{RV|type=function
{{RV|type=function


| arma3
|game1= arma3
|version1= 1.74


|1.74
|gr1= Map and Markers
 
|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}}
 
|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]
 
|p2= to: [[Array]] - arrow end position in format [x,y] or [x,y,z]
 
|p3= color: [[Array]] format [[Color|Color (RGBA)]] - (Optional, default [1,1,1,1]) arrow line or fill color


|gr1= Map and Markers
|p4= 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
* {{GVI|arma3|1.98|size= 0.75}} arrowBaseWidthCoef: [[Number]] - (Optional, default 1) arrow base width compared to the arrow thickness
 
|p5= fill: [[Boolean]] - (Optional, default [[true]]) [[true]] to draw color filled arrow, [[false]] to draw outline
 
|p6= map: [[Control]] - (Optional, default [[findDisplay|display]] 12 [[displayCtrl]] 51) map control
 
|r1= [[Array]] - arrow reference for removal in format [idd, idc, ehId] or empty array [] on removal operation


| Draws a static arrow (outline or color filled) on map. See Example 4 for arrow removal.
<br><br>[[File:fnc_drawArrow.jpg|448px]] [[File:BIS_fnc_drawArrow2.jpg|400px]]
{{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]]
|x1= Draw a semi-transparent, blue arrow with default geometry:
<sqf>myArrow1 = [_pos1, _pos2, [0,0,1,0.5]] call BIS_fnc_drawArrow;</sqf>


|p1= from: [[Array]] - Arrow start position in format [x,y] or [x,y,z]
|x2= Draw a wide, green arrow outline:
|p2= to: [[Array]] - Arrow end position in format [x,y] or [x,y,z]
<sqf>myArrow2 = [_pos1, _pos2, [0,1,0,1], [20], false] call BIS_fnc_drawArrow;</sqf>
|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


| [[Array]] - Arrow reference for removal in format [idd, idc, ehId] or empty array [] on removal operation
|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>


<br><br>[[Image:fnc_drawArrow.jpg|448px]] [[Image:BIS_fnc_drawArrow2.jpg|400px]]
|x4= Remove the arrow created in {{Link|#Example 3}}:
<sqf>myArrow3 call BIS_fnc_drawArrow;</sqf>


|x1= Draw a semi-transparent, blue arrow with default geometry:<code>myArrow1 = [_pos1, _pos2, [0,0,1,0.5]] [[call]] [[BIS_fnc_drawArrow]];</code>
|x5= <sqf>
|x2= Draw a wide, green arrow outline:<code>myArrow2 = [_pos1, _pos2, [0,1,0,1], [20], [[false]]] [[call]] [[BIS_fnc_drawArrow]];</code>
myArrow1 = [[100,400,0], [200,500,0], [1,0,0,1], [20], true] call BIS_fnc_drawArrow;
|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>
myArrow2 = [[400,700,0], [300,600,0], [0,1,0,1], [20, 1/3, 2, 2], true] call BIS_fnc_drawArrow;
|x4= Remove the arrow created in Example 3:<code>myArrow3 [[call]] [[BIS_fnc_drawArrow]];</code>
myArrow3 = [[600,700,0], [400,900,0], [0,0,1,1], [20, 1/3, 2, 0.5], true] call BIS_fnc_drawArrow;
|x5= <code>myArrow1 = [<nowiki/>[100,400,0], [200,500,0], [1,0,0,1], [20], [[true]]] [[call]] [[BIS_fnc_drawArrow]];  
myArrow4 = [[100,100,0], [200,200,0], [0,0,0,1], [20], false] call BIS_fnc_drawArrow;
myArrow2 = [<nowiki/>[400,700,0], [300,600,0], [0,1,0,1], [20, 1/3, 2, 2], [[true]]] [[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;
myArrow3 = [<nowiki/>[600,700,0], [400,900,0], [0,0,1,1], [20, 1/3, 2, 0.5], [[true]]] [[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;
myArrow4 = [<nowiki/>[100,100,0], [200,200,0], [0,0,0,1], [20], [[false]]] [[call]] [[BIS_fnc_drawArrow]];  
</sqf>
myArrow5 = [<nowiki/>[400,400,0], [300,300,0], [1,1,1,1], [20, 1/3, 2, 2], [[false]]] [[call]] [[BIS_fnc_drawArrow]];  
myArrow6 = [<nowiki/>[600,400,0], [400,600,0], [0,1,1,1], [20, 1/3, 2, 0.5], [[false]]] [[call]] [[BIS_fnc_drawArrow]];</code>


|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