Unreal Engineで(4.15)のプロジェクトプラグインを作成する際に少し問題があります。だからそれを分解しましょう。 UActor成分由来し、また、このラインを持っている 1.I've作成MyClassのは:プラグインのUActorComponent派生クラスが関数呼び出しのために反応しません
UCLASS(ClassGroup = (Custom), meta = (BlueprintSpawnableComponent))
2.I'veは私のゲームモードにそのコンポーネントを追加しました。 3.私はクラス内からGameModeを取得してからMyGameModeにキャストし、MyClassComponentを取得することで、関数を呼び出そうとしています。 4.関数を呼び出すときに何も起こりません。
私はそれをデバッグしようとしていましたが、関数本体に入ることはありませんが、関数の前に出力し、後は完全にうまく動作します。私は、関数を直接プロジェクトにコンパイルすると、100%正常に機能するとも言わなければなりません!私は私に教えてくださいを認識していないんだということに必要な任意のより多くの情報がある場合
UFUNCTION(BlueprintCallable, Category = "MyClass|Test")
void TestFunction();
void UMyClass::TestFunction()
{
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, "hello there");
}
:
これは私が私の関数を宣言しない方法のサンプルです。
UCLASS(ClassGroup = (Custom), meta = (BlueprintSpawnableComponent))
class UMyClass : public UActorComponent
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Category = "MyClass|Test")
void TestFunction();
};
タイプミスということですか? 'GameMode'ではなく、' MyGameMode'にキャストする必要があります。 'GameMode'はあなたのコンポーネントを持っていません。あなたの' MyGameMode'はあなたのコンポーネントです。 – Rotem
はい、あなたは間違いを犯しました。私はGetGameMode-> MyGameMode-> Getコンポーネントにキャストしています。 –
「MyClass」を宣言する方法を示してください。 – Rotem