2016-04-25 46 views
1

私はPythonでダンジョンズとドラゴンズのテーマのゲームを作っており、プレイヤーやマップにクラスを使用しています。クラスには属性がありません。セットはありますが、

しかし、マップクラスから配列をフェッチしようとすると、この名前の属性はありませんが、設定されていることがわかります。私は、この

Map = Map_1 
current_pos = Map.Spawn 

は今、通常、これは別のクラスに埋め込まれることになるが、それは衝突のクラスだった場合、私は見てみました試してみて、使用するために行くHERESにマップクラス

class Map_1: 

    def __init__ (self): 
     self.Title = "Default" 
     self.Spawn = [4, 2] 
     self.map = [...] 

それを取り出してクラスなしで実行すると、私はまだエラーが発生します。 これは

class Map_1 has no attribute 'Spawn' 
+1

を。 –

答えて

1

マルタインの答えについて詳しく説明するには、「()」「Map_1」の後に不足しています。 あなたがする必要があります

Map = Map_1 

言う:あなたは、インスタンスの属性ではなく、クラス属性を設定している

Map = Map_1() 
+1

あなたが用語をよく理解していないと、あなたの答えは分かりやすくなります – Ashmoreinc

3

私の誤りであるあなたのクラスはありませんそのような属性を持っていません。クラスのインスタンスだけがその属性を持ちますが、作成することはありません。

クラスを呼び出すてインスタンスを作成します。

Map = Map_1() # call the class 
current_pos = Map.Spawn 
+0

ダムニット、ありがとう、私はそのようなルーキーのように見える。しかし、少なくともそれは構文を詳しく調べることを覚えています。ありがとうございました。 – Ashmoreinc

関連する問題