на реализации ниже кода каждый раз, когда последний виджет получает активированную и после этого каждый виджет активируется пожалуйста, решить этуon_touch_widget kivy все другие виджеты активируется
по реализации ниже кода каждый раз, когда последний виджет активируется и после того, что каждый виджет активируется пожалуйста, решить эту проблему по реализации ниже коды каждый раз, когда последний виджет получает активированный и после этого каждый виджет активируется пожалуйста, решить эту
по реализации ниже коды каждый раз, когда последний виджет активируется и после того, что каждый виджет активируется пожалуйста, решить эту
по реализации ниже коды каждый раз, когда последний виджет получает активированный и после этого каждый виджет активируется пожалуйста, решить эту проблема `
from pieces import matrix
from kivy.app import App
from kivy.graphics import Color,Rectangle
from kivy.core.window import Window
from kivy.uix.widget import Widget
from kivy.uix.image import Image
from kivy.clock import Clock
class Sprite(Image):
def __init__(self,size=None,**kwargs):
super(Sprite, self).__init__(**kwargs)
if size==None:
self.size = self.texture_size
else:self.size=size
class Basket(Widget):
def __init__(self,source,pos,name,**kwargs):
super(Basket,self).__init__(**kwargs)
self.speed=4
self.name=name
self.image=Sprite(source=source,pos=pos,size=[100,100])
self.add_widget(self.image)
self.size=self.image.size
print self.size
def update_y(self,a):
final=a*100+50
if self.image.center_y==final:return True
elif self.image.center_y<final:self.image.center_y+=self.speed
else:self.image.center_y-=self.speed
return False
def update_x(self,a):
final=a*100+50
if self.image.center_x==final:return True
elif self.image.center_x<final:self.image.center_x+=self.speed
else:self.image.center_x-=self.speed
return False
def on_touch_down(self,touch):
if touch.grab_current is self:
print self.name
class Game(Widget):
def __init__(self,**kwargs):
super(Game,self).__init__(**kwargs)
self.matrix=matrix()
self.add_widget(Sprite(source='images/gray.jpg'))
for i in range(2):
self.ids[str(i)]=Basket(source='images/basket.jpg',name=str(i),pos=(i*100,i*100))
self.add_widget(self.ids[str(i)])
print i
# Clock.schedule_interval(self.update, 1.0/60.0)
# self.matrix.shuffle()
def update(self,ab):
if self.matrix.up:
if reduce(lambda a,i:self.ids[str(i)].update_y(self.matrix.y[i]) and a ,range(4),True):
self.matrix.shuffle()
else:
if reduce(lambda a,i:self.ids[str(i)].update_x(self.matrix.x[i]) and a,range(4),True):
self.matrix.shuffle()
def on_touch_down(self,touch):
print touch.grab(self)
class GameApp(App):
def build(self):
g=Game(size=(400,400))
Window.size=g.size
return g
GameApp().run()
`
Пожалуйста, объясните, что вы пытаетесь сделать, и уточнить свой вопрос, чтобы удалить дубликат текста. – neverendingqs