以前のリビジョンの文書です
<sxh cpp; title: MyActorComponent.h> class STDPROJECT_API UMyActorComponent : public UActorComponent {
GENERATED_BODY()
private:
// 追加 float m_fRunningTime;
} </sxh>
<sxh cpp; title: MyActorComponent.cpp> 開始時に呼ばれる void UMyActorComponent::InitializeComponent() { Super::InitializeComponent(); } 毎フレーム呼ばれる void UMyActorComponent::TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) {
Super::TickComponent( DeltaTime, TickType, ThisTickFunction );
// 追加 AActor* pOwner = GetOwner(); FVector NewLocation = pOwner->GetActorLocation(); float DeltaHeight = (FMath::Cos(m_fRunningTime + DeltaTime) - FMath::Cos(m_fRunningTime)); NewLocation.X += DeltaHeight * 20.0f; m_fRunningTime += DeltaTime; pOwner->SetActorLocation(NewLocation);
} </sxh>
動作はCos移動するだけの物を実装してみました。プロジェクトをビルドしてエラーが出ないことを確認します。
これで再生するとアクターが動くはずですが、もし動かない場合は「アクターの可動性」が「スタティック」になっているので、「ムーバブル」に変更します。