UChildActorComponent的ChildActorClass中的访问函数
Access Function within ChildActorClass of UChildActorComponent
好的,所以在UE4上,我正在尝试制作一个UChildActorComponent作为玩家的武器。但是当我去调用 APlayerWeapon 类中的函数时,它说:
错误:在"UChildActorComponent"中没有名为"射击"的成员
这是我用来初始化武器的代码:
void ABaseCharacter::CreatePlayerWeapon()
{
//Create the weapon actor as a UChildActorComponent
Weapon = CreateDefaultSubobject<UChildActorComponent>(TEXT("PlayerWeapon"));
Weapon->SetChildActorClass(WeaponClass);
Weapon->CreateChildActor();
//Attach it at the socket called "GunSocket" that I created on the right hand
Weapon->SetupAttachment(GetMesh(), FName("GunSocket"));
}
然后在 SetupPlayerInputComponent 函数中,我使用它来尝试将"Shoot(("绑定到空格键(在游戏设置中设置为输入(:
InputComponent->BindAction("Shoot", IE_Pressed, this, Weapon->Shoot());
以下是 ABaseCharacter 头文件中的相关代码行:
UPROPERTY(VisibleDefaultsOnly)
class UChildActorComponent* Weapon;
UPROPERTY(VisibleAnywhere, Category = "Base Character")
TSubclassOf<class APlayerWeapon> WeaponClass;
然后是 APlayerWeapon 类的相关代码行:
void APlayerWeapon::Shoot()
{
UE_LOG(LogTemp, Error, TEXT("Shooting"));
}
TLDR;如果武器当前是 ChildActorComponent,如何从 APlayerWeapon 访问 Shoot(( 函数?
了解如何解决此问题。你只需要得到儿童演员,然后投到儿童演员班。然后,您就可以调用该函数了。
((APlayerWeapon *)Weapon->GetChildActor())->Shoot();
相关文章:
- 使用不带参数的函数访问结构元素
- 删除目录函数访问被拒绝
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 如何使用 C++ 中的继承函数访问派生类中的局部变量
- 我想要一个具有子函数的函数访问相同的命名函数,而不使用它取决于其子类的类
- 有没有办法通过 main 函数访问受保护的矢量大小而无需将其转换为公共?
- 如何在C++通过公共函数访问私有函数成员?
- 限制variadic模板类中的构造函数访问
- 从析构函数访问模板类构造函数的参数,可以吗?
- 变量 z 无法从其他函数访问变量 x
- 从静态成员函数访问私有非静态类变量 - C++
- 如何在 C++ 中从 void 返回函数访问变量
- 在类中使用映射并通过其他类的 get() 和 set() 函数访问值
- 无法从另一个函数访问文件范围变量的内容
- 是否可以从 C++ 中的构造函数访问对象名称?
- 使用C 中的共享_ptr从公共静态成员函数访问私有构造函数
- 使用静态成员函数访问静态数据成员
- 为什么我们可以从 C++ 中的成员函数访问 non_member 函数
- 如何使用 c++ 中的函数访问全局变量?
- 如何从 C++ 中的主函数访问类中的私有构造函数?