2017-04-25 8 views
1

私はlibgdxを学んだし、私は俳優のために、たとえば、ゲーム内のすべての俳優のためにUserDataのクラスを作ったチュートリアル、プレイヤーに遭遇してきた、彼はあるUserDataの拡張クラスPlayerUserDataを作りましたgetUserDataという1つのメソッドを持つ抽象クラスで、どのようなアクターであるかを示すenumを返しました(グラウンド、プレーヤー、...)。チュートリアルでは、彼は情報を格納するためにそれを作ったと説明し、衝突のために役立つだろうと説明した。私はこれを完全には理解していません、なぜあなたは俳優の俳優クラスに情報を保存しないのですか?また、衝突についてはどのような情報がありますか?libgdxユーザーデータクラス

+0

この質問は答えられるにはあまりにも曖昧です。私たちはあなたが読んでいるチュートリアルや著者が考えていたことは分かりません。おそらくチュートリアルの著者に質問してください。またはLibgdx掲示板にそのリンクを投稿して、それについて尋ねるともっと議論になるかもしれません。 – Tenfour04

+0

これは大丈夫ですか – DreamsInHD

答えて

1

理由だけではなく、シンプルに固執しようとした、以下のような方法をテストしていません...複雑ですね。 MyActorからインターフェイスは、それがタイプMyActor.Typeの列挙を返す必要があり、各Actorにおいて

interface MyActor { 

    enum Type { 
     // Types of actors 
     a, b, c, d 
    } 
    Type getType(); 
} 

Actor1 implements MyActor 
Actor2 implements MyActor 
Actor3 implements MyActor 
Actor4 implements MyActor 

は、この方法には、継承がないとアクターは、それが明らかに必要とされていない一切の階層を持っていません。

MyActorを実装する各Actorは、独自のクラスでは、そのようArray<MyActor>()などlibGDXのコレクションにまとめて格納することができたとも手間をかけずに俳優のそれぞれの種類をチェックします。あなたも、俳優のタイプの簡単なチェックのためMyActorに次のメソッドを追加することができ

EDIT

boolean isType(Type type); 
+0

アル、ありがとう! – DreamsInHD