この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
wiki:ue4:tips:500 [2015/03/28 05:32] step |
— (現在) | ||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | ====== C++/Actorクラスの作成(4.7.3) ====== | ||
- | |||
- | - 「コンテンツブラウザ」の「新規追加」から「新規C++ Class...」を選択する。 | ||
- | - 親クラスに「Actor」を選択して次へ。 | ||
- | - 名前を「MyActor」として「クラスを作成」する。 | ||
- | |||
- | ===== コードの記述とコンパイル ===== | ||
- | - クラスが生成されると自動でVisual Studioが開くので、MyActor.h/cppを編集します。 | ||
- | <code csharp> | ||
- | // MyActor.h | ||
- | class STDPROJECT_API AMyActor : public AActor | ||
- | { | ||
- | GENERATED_BODY() | ||
- | private: | ||
- | // 追加 | ||
- | float m_fRunningTime; | ||
- | } | ||
- | </code> | ||
- | |||
- | |||
- | <code csharp> | ||
- | // MyActor.cpp | ||
- | |||
- | // 生成された時に一度だけ呼ばれる。 | ||
- | void AMyActor::BeginPlay() | ||
- | { | ||
- | Super::BeginPlay(); | ||
- | | ||
- | } | ||
- | |||
- | // 毎フレーム呼ばれる。 | ||
- | void AMyActor::Tick( float DeltaTime ) | ||
- | { | ||
- | Super::Tick( DeltaTime ); | ||
- | |||
- | // 追加 | ||
- | FVector NewLocation = GetActorLocation(); | ||
- | float DeltaHeight = (FMath::Sin(m_fRunningTime + DeltaTime) - FMath::Sin(m_fRunningTime)); | ||
- | NewLocation.Z += DeltaHeight * 20.0f; | ||
- | m_fRunningTime += DeltaTime; | ||
- | SetActorLocation(NewLocation); | ||
- | } | ||
- | </code> | ||
- | |||
- | 動作は公式のクイックスタートのコードそのままです。プロジェクトをビルドしてエラーが出ないことを確認します。 | ||
- | |||
- | ===== Actorを配置する ===== | ||
- | - UE4エディターに戻って「コンテンツブラウザ」から「MyActor」をビューポートにドラッグ&ドロップします。 | ||
- | - 「ワールドアウトライナー」に「MyActor1」が追加されアクターの詳細が設定できる様になります。 | ||
- | - 「MyActor1」の「詳細パネル」の「コンポーネントを追加」から適当な図形を選択します。ここでは球(Sphere)を選択しました。 | ||
- | |||
- | |||
- | |||
- | これでビューポートにアクターが表示されました。 | ||
- | 実行すると上下にSin移動します。 | ||