virtual void OnPossess(APawn* InPawn) override; virtual void OnUnPossess() override;在UE4.27中改如何表达
时间: 2023-12-10 11:05:41 浏览: 30
在UE4.27中,这两个函数的声明不再使用override关键字。正确的声明方式如下:
```
virtual void OnPossess(APawn* InPawn);
virtual void OnUnPossess();
```
你可以在类的头文件中声明这两个函数,并在源文件中分别实现它们。注意,这些函数的实现应该与你所使用的UE4版本相匹配。
相关问题
virtual void Possess(APawn* InPawn) override; virtual void UnPossess() override;在UE4.27中如何表达
在UE4.27中,这两个函数的表达方式与之前的版本相同。您可以使用以下代码来实现这两个函数:
```c++
void APossessableAIController::Possess(APawn* InPawn)
{
Super::Possess(InPawn);
// Your code here
}
void APossessableAIController::UnPossess()
{
Super::UnPossess();
// Your code here
}
```
请注意,这些函数必须在继承自AIController的类中实现。
virtual void Possess(APawn* InPawn) override; virtual void UnPossess() override;在UE4.27中如何实现
在UE4.27中,`Possess`和`UnPossess`函数的实现方式与之前版本相同。在实现这两个函数时,需要在派生类中使用`override`关键字进行重写。具体实现方式如下:
```
void AMyAIController::Possess(APawn* InPawn)
{
Super::Possess(InPawn);
// 在这里添加你的代码
}
void AMyAIController::UnPossess()
{
// 在这里添加你的代码
Super::UnPossess();
}
```
需要注意的是,`Possess`函数在AI控制器被分配给一个Pawn时调用,`UnPossess`函数在AI控制器被释放时调用。在`Possess`函数中,可以添加AI行为逻辑,比如寻找目标、制定行动计划等。在`UnPossess`函数中,可以清理AI行为逻辑和状态。