ctrlSetAngle: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|game([0-9]) ?= (.+) \|version([0-9]) ?= (.+) " to "|game$1= $2 |version$3= $4 ")
m (Text replacement - ";[ ]+ " to "; ")
Line 30: Line 30:
|x2=<code>[[with]] [[uiNamespace]] [[do]]
|x2=<code>[[with]] [[uiNamespace]] [[do]]
{
{
ctrl = [[findDisplay]] 46 [[ctrlCreate]] ["RscPictureKeepAspect", -1];  
ctrl = [[findDisplay]] 46 [[ctrlCreate]] ["RscPictureKeepAspect", -1];
ctrl [[ctrlSetPosition]] [0,0,1,1];  
ctrl [[ctrlSetPosition]] [0,0,1,1];
ctrl [[ctrlSetText]] "A3\Missions_F_Exp\data\Img\lobby\ui_campaign_lobby_background_tablet_radial_left_ca.paa";  
ctrl [[ctrlSetText]] "A3\Missions_F_Exp\data\Img\lobby\ui_campaign_lobby_background_tablet_radial_left_ca.paa";
ctrl [[ctrlCommit]] 0;
ctrl [[ctrlCommit]] 0;
angle = 0;
angle = 0;
Line 39: Line 39:
[[with]] [[uiNamespace]] [[do]]
[[with]] [[uiNamespace]] [[do]]
{
{
[[if]] (angle > 359) [[then]] {angle = 0};  
[[if]] (angle > 359) [[then]] {angle = 0};
ctrl [[ctrlSetAngle]] [angle, 0.5, 0.5];  
ctrl [[ctrlSetAngle]] [angle, 0.5, 0.5];
angle = angle + 1;
angle = angle + 1;
};
};

Revision as of 01:53, 8 August 2021

Hover & click on the images for description

Description

Description:
Sets the rotation of an ST_PICTURE control. Rotation will be done within the control boundaries, so if the X and Y are given off center, the picture may get clipped by the control boundaries. Only requires ctrlCommit when fourth parameter is set to false. Procedural textures filled controls do not rotate.
Groups:
GUI Control

Syntax

Syntax:
control ctrlSetAngle [angle, centerX, centerY, now]
Parameters:
control: Control - picture control
angle: Number - Rotation angle (clockwise)
centerX: Number - Rotation center X in range 0 to 1. Control center is 0.5
centerY: Number - Rotation center Y in range 0 to 1. Control center is 0.5
now: Boolean - (Optional, default true) If false, control will wait for ctrlCommit input for result to apply Template:Since
Return Value:
Nothing

Examples

Example 1:
_control ctrlSetAngle [25, 0.5, 0.5];
Example 2:
with uiNamespace do { ctrl = findDisplay 46 ctrlCreate ["RscPictureKeepAspect", -1]; ctrl ctrlSetPosition [0,0,1,1]; ctrl ctrlSetText "A3\Missions_F_Exp\data\Img\lobby\ui_campaign_lobby_background_tablet_radial_left_ca.paa"; ctrl ctrlCommit 0; angle = 0; onEachFrame { with uiNamespace do { if (angle > 359) then {angle = 0}; ctrl ctrlSetAngle [angle, 0.5, 0.5]; angle = angle + 1; }; }; };
Example 3:
_control ctrlSetAngle [25, 0.5, 0.5, false]; _control ctrlCommit 1; // Rotation applies smoothly for 1 second.

Additional Information

See also:
ctrlAngle

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