この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
wiki:ue4:tips:500 [2015/03/28 05:32] step |
wiki:ue4:tips:500 [2016/03/06 10:32] (現在) step |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | ====== C++/Actorクラスの作成(4.7.3) ====== | + | 投稿は再構築して移動しました。 |
- | + | [[wiki:tips:006|http://stepism.sakura.ne.jp/ue4/wiki/doku.php?id=wiki:tips:006]] | |
- | - 「コンテンツブラウザ」の「新規追加」から「新規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移動します。 | + |