2015-07-17 6 views
0

Я хотел сделать небольшую программу с Врагом, бегущим к левой стороне экрана, и вы должны остановить его, выбросив его. Я сделал «Enemy» подкласс виджета рассеяния и добавил его в мой класс уровня. Но он сказал мне, что у меня было много углублений. Вот код:kivy too many indentation

class Enemy(Scatter): 
    intv = NumericProperty(0/10.) 
    gravity = NumericProperty(0.01) 
    velocity = NumericProperty() 
    imgp = StringProperty('enemy.png') 
    def __init__(self, **kwargs): 
     super(Enemy, self).__init__(**kwargs) 
     self.My_Clock = Clock# declaring the clock for later usage 
     self.My_Clock.schedule_interval(self.Update, self.intv) 
    def Update(self, *args): 
     self.x -= 1 
     if self.y > 0: 
      self.velocity += self.gravity 
      self.y -= self.velocity 
     else: 
      if self.velocity > 0.5: 
       print 'death' 

class level(Widget): 
    zicie = NumericProperty(10)# the variable containg the life of the player 
    zloto = NumericProperty(0) 
    e_killed = NumericProperty(0) 
    intv1 = NumericProperty(2/1.) 
    pu = BooleanProperty(True) 
    def __init__(self, **kwargs): 
     super(level, self).__init__(**kwargs) 
     self.l_Clock = Clock 
    def Update(self, *args):# this funktion generates enemys 
     pass 
     #obj = Root.ids.level 
     #obj.add_widget(Enemy(pos=(500,0))) # the widget enemy is added here 

Root = Builder.load_string(''' 
FloatLayout: 
    level: 
     Enemy: 
      pos: 500,0 


<Enemy>: 
    Image: 
     pos: root.pos 
     source: 'enemy.png' 

''') 
+2

Пожалуйста, укажите полную ошибку, включая трассировку стека в вопросе. –

+0

«Мне сказали, что я ...» Не перефразируйте ошибки. Скопируйте и вставьте их. –

ответ

1
FloatLayout: 
    level: 
     Enemy: 

имена виджетов должны начинаться с заглавной буквой, если вы хотите использовать их на языке кВ, а киловольт использует это, чтобы различать свойства и виджеты. В этом случае он, вероятно, считает, что уровень является свойством, и в этом случае отступ действительно недействителен (хотя, как прокомментировали другие, вы должны скопировать и вставить ошибки, чтобы упростить подтверждение таких вещей).