python - python中的按钮功能不起作用self.clicked
问题描述
一直在写一个按钮功能但是self.clicked
在之后没有保持它的价值MOUSEBUTTONUP
,有没有更好的方法或方法来保持self.clicked
价值?
代码:
def check_clicked(self,event):
if event.type == pg.MOUSEBUTTONDOWN and event.button == 1:
if self.rect.collidepoint(event.pos):
self.clicked = True
elif event.type == pg.MOUSEBUTTONUP:
if self.clicked == True:
return True
else:
return False
解决方案
您的缩进已关闭,尽管这应该会引发错误;
def check_clicked(self,event):
if event.type == pg.MOUSEBUTTONDOWN and event.button == 1:
if self.rect.collidepoint(event.pos):
self.clicked = True
elif event.type == pg.MOUSEBUTTONUP: #<<<<< Change indentation here
if self.clicked == True:
return True
else:
return False
假设您的缩进是正确的,我相信问题在于您实际上并没有定义self.clicked
,只是检查它是否正确。
尝试以下操作;
elif event.type == pg.MOUSEBUTTONUP:
self.clicked = True
if self.clicked == True:
return True
else:
return False
self.clicked
尽管在定义之前检查是否为真是多余的。只需使用;
def check_clicked(self,event):
if event.type == pg.MOUSEBUTTONDOWN and event.button == 1:
if self.rect.collidepoint(event.pos):
self.clicked = True
elif event.type == pg.MOUSEBUTTONUP:
self.clicked = True
return True
推荐阅读
- javascript - 如何使用 esbuild + babel 插件将 nodejs 应用程序与 mongodb 捆绑
- flutter - 如果父上下文不再可用,如何关闭颤振对话框?
- c - 包装要作为函数指针传递给 C 库的 Swift 函数
- javascript - 如何强制 PDF 在 Acrobat 中打开,而不是在 Edge 或 Chrome 中打开浏览器?
- go - 如何在并发操作中关闭通道?
- python - 带有烧瓶的 Python 架构
- vba - VBA Solver 未遵循所有约束
- mongodb - 如何用 mongodb replace_many 替换_many
- python - 如何从python代码文件为kivy中的小部件设置id
- sql - 雪花 - Dense_rank 从 2 而不是 1 开始