4 - コードをテストする

テスト オブジェクトをレベルに作成する

Windows
MacOS
Linux
On this page
  1. アンリアル エディタコンテンツ ブラウザ から「C++ Classes」という名前のフォルダを展開します。そのフォルダ内の「QuickStart」フォルダの中に、Actor クラスの FloatingActor が入っています。

    ClassInContentBrowser.png

  2. FloatingActor クラスを直接 [レベル エディタ] ウィンドウへドラッグすると、ワールド内に MyActor のインスタンスを作成することができます。レベル エディタワールド アウトライナー で「FloatingActor1」と名前が付いています。それを選択します。コンポーネント やその他のプロパティが [Details (詳細)] パネル で見えるようになります。

    WorldOutliner.png

  3. FloatingActor をゲーム内で見えるようにする必要があります。選択したまま、 [Details (詳細)] パネル[Add Component (コンポーネントを追加)] をクリックし、 [Cone] を選んで簡単な形を与えます。

    AddStaticMesh.png

  4. カスタマイズした アクタ の準備ができたので、どこか目立つ場所に移動させましょう。マウスの左ボタンで選択してドラッグしてワールド内を移動させたり、または手動で移動させることができます。手動で移動させるには、レベル エディタ または ワールド アウトライナー で対象を選択して、[Details (詳細)] パネル で [FloatingActor1 (Instance)] を選択します。FloatingActor1 の [Transform (トランスフォーム)][Location (位置)] フィールドを直接編集できるようになります。X を -200 に、そして Z を 200 に設定してみましょう。この設定により、"FloatingActor1" はシーンの中のテーブルの右側に配置されます。

    SetActorLocation.png

  5. [Play (再生)] ボタンを押して、コーンの浮き沈みを見てみましょう。

    MovingCone.png

完成コード

FloatingActor.h

// Copyright 1998-2017 Epic Games, Inc.All Rights Reserved.

#pragma once

#include "GameFramework/Actor.h"
#include "FloatingActor.generated.h"

UCLASS()
class QUICKSTART_API AFloatingActor : public AActor
{
    GENERATED_BODY()

public:
    // Sets default values for this actor's properties (このアクタのプロパティのデフォルト値を設定)
    AFloatingActor();

protected:
    // Called when the game starts or when spawned (ゲーム開始時またはスポーン時に呼び出されます)
    virtual void BeginPlay() override;

public:
    // Called every frame (フレーム毎に呼び出されます)
    virtual void Tick( float DeltaSeconds ) override;

    float RunningTime;
};

FloatingActor.cpp

// Copyright 1998-2017 Epic Games, Inc.All Rights Reserved.

#include "QuickStart.h"
#include "FloatingActor.h"

// Sets default values (デフォルト値を設定) 
AFloatingActor::AFloatingActor()
{
    // Set this actor to call Tick() every frame. (フレーム毎に Tick() を呼び出すようにこのアクタを設定) You can turn this off to improve performance if you don't need it. (必要がなければパフォーマンスを向上させるためにオフにすることができます) 
    PrimaryActorTick.bCanEverTick = true;

}

// Called when the game starts or when spawned (ゲーム開始時またはスポーン時に呼び出されます)
void AFloatingActor::BeginPlay()
{
    Super::BeginPlay();

}

// Called every frame (フレーム毎に呼び出されます)
void AFloatingActor::Tick( float DeltaTime )
{
    Super::Tick( DeltaTime );

    FVector NewLocation = GetActorLocation();
    float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(RunningTime));
    NewLocation.Z += DeltaHeight * 20.0f;       //Scale our height by a factor of 20
    RunningTime += DeltaTime;
    SetActorLocation(NewLocation);
}
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback