2016-07-07 7 views
0

私はUnrealの「Battery Pickup」チュートリアルに従っています。このチュートリアルのバージョンは古いものでした。私はチュートリアルのような正確なコードを持っています、彼らはエラーを持っていないと私はエディタでこれらの構文エラーをすべて取得していると私は本当にそれらを取り除く方法を知りません。UnrealのUPROPERTYエラー

これは私のコードです:

#pragma once 
#include "GameFramework/Actor.h" 
#include "Pickup.generated.h" 
UCLASS() 
class BATTERYCOLLECTOR_API APickup : public AActor 
{ 
    GENERATED_BODY() 
public: 
    APickup(); 
    virtual void BeginPlay() override; 
    virtual void Tick(float DeltaSeconds) override; 
    FORCEINLINE class UStaticMeshComponent* GetMesh() const { return PickupMesh; } 

private: 
    UProperty(VisibleAnywhere, BlueprintReadOnly, Category = "**Pickup**", meta = (**AllowPrivateAccess** = "true")**)** 
    class UStaticMeshComponent* **PickupMesh**; 
}; 

これらは私が(上記のコードで太字のテキスト)を取得エラーです: 識別子AllowPrivateAccessはUnrealの++未定義Cで、 識別子PickupMeshが定義されていない、 は適していませんコンストラクタ"const char [7]"から "UPROPERTY"に変換するために存在します。 他の括弧にはエラーがありません。

Here is what it looks like:

+5

チュートリアルでは、「UProperty」ではなく「UProperty」と表示されています。 – molbdnilo

+0

それはうまくいった! ありがとう – Poonam

答えて

0

コメントが有効な答えですが、私はいくつかのより多くの情報を提供してみてください。

Unrealがクラス、プロパティなどを識別するために使用するマクロは、すべてUCLASS()、UPROPERTY()のように大文字で表記されます。ドキュメントは[1]です。

特にUPROPERTY()の場合、ドキュメントは[2]です。これらの指定子でプロパティを修飾/制御することができるので、それをBlueprintに公開し、エディタでの編集方法を制御できます。

UCLASS()、USTRUCT() )、UFUNCTION()、UPARAM()はすべて独自の指定子セットを持っています.C++を使用してUnreal Engineのゲームを開発したい場合は、それらも読み込む必要があります。指定子の仕組みがわからない場合は、UEのエンジンソースコードで検索してください。完全なエンジンソースコードは、実際にはUnreal開発者にとって不運です。

関連する問題