UE4 C++绑定按键输入
绑定分为两种
Action: 是直接按下和抬起还有持续这些触发模式
Axis :这种是持续检测,然后会返回一个值.
绑定必须要继承至Pawn或者ACharacter他们才是被设定为可以被操控的对象,其他的是不行的,
主要原因是里面有:
这个函数是绑定按键用的函数,执行启动后会传一个所有按钮事件的父类过来,如果有响应就会通过这个类进行反馈,
那么绑定也是在调用这个类来进行的:
InputComponent->BindAxis("W",this, &AAvatar::MoveForward);//代表值类型的按钮触发效果绑定了一个函数这个函数必须带有参数。
InputComponent->BindAction("MouseLeft",IE_Pressed,this, &AAvatar::MouseDown);//代表按钮触发效果绑定,触发条件为当开始按下后触发IE_Pressed,当然还有其他的一些触发条件
enum EInputEvent
{
IE_Pressed =0,
IE_Released =1,
IE_Repeat =2,
IE_DoubleClick =3,
IE_Axis =4,
IE_MAX =5,
};
注意的唯一问题就是绑定的时候最好就用这两种
想要根据鼠标的移动来旋转自身也是一样的道理需要在值返回的按键响应中吧鼠标的XY设置好
AddControllerYawInput(200.0f * amount * GetWorld()->GetDeltaSeconds());
添加左右旋转值的函数参数为需要添加的值
AddControllerPitchInput(200.0f * -amount * GetWorld()->GetDeltaSeconds());
添加上下旋转值的函数参数为需要添加的值
AddControllerRollInput(200.0f * -amount * GetWorld()->GetDeltaSeconds());
添加正前方向的旋转。