以前のリビジョンの文書です
—-
Warning: Declaration of syntax_plugin_linebreak::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in
/home/stepism/www/ue4/wiki/lib/plugins/linebreak/syntax.php on line
52
Warning: Declaration of syntax_plugin_linebreak::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in
/home/stepism/www/ue4/wiki/lib/plugins/linebreak/syntax.php on line
74
Warning: Declaration of syntax_plugin_markdownextra::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in
/home/stepism/www/ue4/wiki/lib/plugins/markdownextra/syntax.php on line
38
Warning: Declaration of syntax_plugin_markdownextra::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in
/home/stepism/www/ue4/wiki/lib/plugins/markdownextra/syntax.php on line
47
Warning: Declaration of syntax_plugin_syntaxhighlighter3_syntax::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in
/home/stepism/www/ue4/wiki/lib/plugins/syntaxhighlighter3/syntax/syntax.php on line
53
Warning: Declaration of syntax_plugin_syntaxhighlighter3_syntax::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in
/home/stepism/www/ue4/wiki/lib/plugins/syntaxhighlighter3/syntax/syntax.php on line
82
C++/コンポーネントの追加(4.7.3)
「詳細パネル」の「新規コンポーネントの追加」から「新規C++コンポーネントの追加…」を選択する。
「ActorComponent」を選択して次へ進む。
「MyActorComponent」など名前を付けて「クラスを作成」する。
// MyActorComponent.h
class STDPROJECT_API UMyActorComponent : public UActorComponent
{
GENERATED_BODY()
private:
// 追加
float m_fRunningTime;
}
// 開始時に呼ばれる
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);
}
動作はCos移動するだけの物を実装してみました。プロジェクトをビルドしてエラーが出ないことを確認します。
UE4エディターに戻って「MyActorComponent」を任意のアクターに割り当てます。