- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建 UActorComponent 来处理一些用户输入。我是这样做的:
void MyComponent::BeginPlay()
{
Super::BeginPlay();
this->InputComponent = GetOwner() ->FindComponentByClass<UInputComponent>();
if (this->InputComponent != nullptr) {
UE_LOG(LogTemp, Display, TEXT("%s InputComponent Found"), *(GetReadableName()));
this->InputComponent->BindAction("MyAction", IE_Pressed, this, &MyComponent::ActionStart);
this->InputComponent->BindAction("MyAction", IE_Released, this, &MyComponent:: ActionEnd);
UE_LOG(LogTemp, Display, TEXT("%s InputComponent Binding done"), *(GetReadableName()));
}
}
但是从未调用过组件的方法。我发现调用 Pawns SetupPlayerInputComponent
方法后所有绑定(bind)都消失了。如果我在 SetupPlayerInputComponent
中进行所有绑定(bind),所有绑定(bind)都会正常工作。
那么在 UActorComponent 中处理用户输入的最佳方式是什么,或者这根本不是好的做法?
最佳答案
正如您提到的,如果您在 SetupPlayerInputComponent
中调用函数,绑定(bind)就会起作用,所以最简单的解决方案是在您的组件中创建一个名为 SetupInput
的函数并调用该函数来自你的 pawn 的 SetupPlayerInputComponent
函数。
是的,在我看来,绑定(bind)应该由受控 pawn 或玩家 Controller 处理,因为这就是 ue4 游戏框架的工作方式。如果您没有任何特定的 pawn 要控制,或者如果它只是一个相机,我会将我的所有输入移动到 Controller 内部。
关于c++ - 在 UE4.22.3 及更高版本中将用户输入绑定(bind)到 UActorComponent 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57142328/
所以我在 Unreal Engine 中为 (4.15) 创建项目插件时遇到了一些问题。因此,让我们分解一下。1.我创建了派生自 UActor 组件的 MyClass 并且还有这一行: UCLASS(
我是 UE4 开发的新手,我学习过 Udemy 的虚幻引擎开发类(class)。我在一个 Actor 上创建了一个新组件,名为 PositionReporter,头文件为 PositionReport
我正在尝试创建 UActorComponent 来处理一些用户输入。我是这样做的: void MyComponent::BeginPlay() { Super::BeginPlay();
我是 Unreal 的新手,我很困惑为什么我在 VS 中收到错误。我目前正在使用一个继承自 UActorComponent 的类,但每当我尝试覆盖 TickComponent 方法时,我都会收到一条错
我是一名优秀的程序员,十分优秀!