UE4 摇杆JoyStick-Touch Interface Setup
【摘要】
1.创建
2、属性
USTRUCT()struct FTouchInputControl{ GENERATED_USTRUCT_BODY() //自由活动图片 // basically mirroring SVirtualJoystick::FControlInfo but as an edita...
1.创建
2、属性
-
USTRUCT()
-
struct FTouchInputControl
-
{
-
GENERATED_USTRUCT_BODY()
-
-
//自由活动图片
-
// basically mirroring SVirtualJoystick::FControlInfo but as an editable class
-
UPROPERTY(EditAnywhere, Category="Control", meta=(ToolTip="For sticks, this is the Thumb"))
-
UTexture2D* Image1;
-
-
//底图
-
UPROPERTY(EditAnywhere, Category="Control", meta=(ToolTip="For sticks, this is the Background"))
-
UTexture2D* Image2;
-
-
//中心位置
-
UPROPERTY(EditAnywhere, Category="Control", meta=(ToolTip="The center point of the control (if <= 1.0, it's relative to screen, > 1.0 is absolute)"))
-
FVector2D Center;
-
-
//可见范围
-
UPROPERTY(EditAnywhere, Category="Control", meta=(ToolTip="The size of the control (if <= 1.0, it's relative to screen, > 1.0 is absolute)"))
-
FVector2D VisualSize;
-
-
//自由活动图片的尺寸
-
UPROPERTY(EditAnywhere, Category="Control", meta=(ToolTip="For sticks, the size of the thumb (if <= 1.0, it's relative to screen, > 1.0 is absolute)"))
-
FVector2D ThumbSize;
-
-
//触摸响应范围
-
UPROPERTY(EditAnywhere, Category="Control", meta=(ToolTip="The interactive size of the control (if <= 1.0, it's relative to screen, > 1.0 is absolute)"))
-
FVector2D InteractionSize;
-
-
//输入力度/强度
-
UPROPERTY(EditAnywhere, Category = "Control", meta = (ToolTip = "The scale for control input"))
-
FVector2D InputScale;
-
-
//按键:触发与ProjectSetting中对应按键相同的输入事件
-
UPROPERTY(EditAnywhere, Category="Control", meta=(ToolTip="The main input to send from this control (for sticks, this is the horizontal axis)"))
-
FKey MainInputKey;
-
-
//按键:触发与ProjectSetting中对应ALT+按键相同的输入事件
-
UPROPERTY(EditAnywhere, Category="Control", meta=(ToolTip="The alternate input to send from this control (for sticks, this is the vertical axis)"))
-
FKey AltInputKey;
-
-
FTouchInputControl()
-
: Image1(nullptr)
-
, Image2(nullptr)
-
, Center(ForceInitToZero)
-
, VisualSize(ForceInitToZero)
-
, ThumbSize(ForceInitToZero)
-
, InteractionSize(ForceInitToZero)
-
, InputScale(1.f, 1.f)
-
{
-
}
-
};
-
-
UCLASS(Blueprintable, BlueprintType)
-
class ENGINE_API UTouchInterface : public UObject
-
{
-
GENERATED_UCLASS_BODY()
-
-
//控制的元素列表
-
UPROPERTY(EditAnywhere, Category="TouchInterface")
-
TArray<FTouchInputControl> Controls;
-
-
//激活状态的透明度
-
UPROPERTY(EditAnywhere, Category="TouchInterface", meta=(ToolTip="Opacity (0.0 - 1.0) of all controls while any control is active"))
-
float ActiveOpacity;
-
-
//非激活状态的透明度
-
UPROPERTY(EditAnywhere, Category="TouchInterface", meta=(ToolTip="Opacity (0.0 - 1.0) of all controls while no controls are active"))
-
float InactiveOpacity;
-
-
//进去非激活状态的时间,一旦没有输入就开始计时
-
UPROPERTY(EditAnywhere, Category="TouchInterface", meta=(ToolTip="How long after user interaction will all controls fade out to Inactive Opacity"))
-
float TimeUntilDeactive;
-
-
//复位的时间
-
UPROPERTY(EditAnywhere, Category="TouchInterface", meta=(ToolTip="How long after going inactive will controls reset/recenter themselves (0.0 will disable this feature)"))
-
float TimeUntilReset;
-
-
//延迟激活
-
UPROPERTY(EditAnywhere, Category="TouchInterface", meta=(ToolTip="How long after joystick enabled for touch (0.0 will disable this feature)"))
-
float ActivationDelay;
-
-
//不准复位
-
UPROPERTY(EditAnywhere, Category="TouchInterface", meta=(ToolTip="Whether to prevent joystick re-center"))
-
bool bPreventRecenter;
-
-
//
-
UPROPERTY(EditAnywhere, Category = "TouchInterface", meta = (ToolTip = "Delay at startup before virtual joystick is drawn"))
-
float StartupDelay;
-
-
//与JoyStick耦合的接口
-
/** Make this the active set of touch controls */
-
void Activate(TSharedPtr<SVirtualJoystick> VirtualJoystick);
-
};
文章来源: blog.csdn.net,作者:呦呦鹿鸣.,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/zhang1461376499/article/details/118970208
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)