【发布时间】:2017-11-12 23:20:18
【问题描述】:
我是 python 和 kivy 的新手,我一直在研究这个问题,但一无所获,因此非常感谢任何帮助。我正在为老鼠做一项行为任务,他们需要按下屏幕上的一个白色方形按钮来获得奖励。每次出现刺激屏幕时,我希望白色方块出现在三个位置之一。这是我到目前为止的相关代码:
main.kv:
<Stimulus>:
on_pre_enter: self.update_pos()
FloatLayout:
StimButton:
id: stimbutton
on_press: root.manager.current = 'screen1'
<StimButton>
background_normal: ''
color: 1,1,1,1
size_hint: 0.2, 0.3
在 python main.py 中:
class Stimulus(Screen):
a = ObjectProperty(None)
def update_pos(self):
b = randint(1,3)
if b==1:
a = {'x':0.1,'y':0.33}
elif b==2:
a = {'x':0.4,'y':0.33}
elif b==3:
a = {'x':0.7,'y':0.33}
self.ids.stimbutton.pos_hint = a
class StimButton(Button):
def on_press(self):
deliver_pellet()
应该会出现一个白色方块,当老鼠按下它时,它们会得到奖励,然后它会切换到黑屏。延迟一段时间后,一个白色方块出现在 3 个可能位置中的另一个位置,然后它们再次出现。最终发生的是,我在左下角得到一个白色方块,下次屏幕出现时,我在随机 3 个位置之一有一个方块,左下角有一个。按下任一方格都会产生所需的结果。如何让左下角的那个方块消失?
【问题讨论】: