2016-07-07 38 views
0

我正在關注一個名爲「Battery Pickup」的虛幻教程,我認爲該教程的版本是舊的。我有教程中的確切代碼,他們沒有任何錯誤,但我在編輯器中得到所有這些語法錯誤,我真的不知道如何擺脫它們。虛幻中的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是不確定的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++開發虛幻引擎遊戲,那麼你也必須閱讀它們。如果您無法確定說明符的工作方式,那麼只需在UE的引擎源代碼中進行搜索即可。完整的引擎源代碼對於虛幻開發人員來說確實是一個運氣。