如何在pygame中创建工具栏?我对此进行了初步搜索......并从http://en.flossmanuals.net/make-your-own-sugar-activities/making-activities-using-pygame/了解了它......但是 gi .repository 在 Windows 中不起作用(我目前正在处理)。python中是否还有其他库也可以在Windows中使用,以便我可以添加..我实际上正在开发GUI(大致可以解释为类似于文件夹中的图像在pygame窗口中继续向右滚动并且还有平移n 实现了缩放功能。)。我只想在那个 pygame 窗口中有一个“工具栏”,并有两个按钮来暂停和开始滚动。
问问题
1899 次
1 回答
4
所以,考虑到相关的评论(即你必须在pygame中自己制作),我没有什么比自己更好的事情了,所以我将概述你如何做到这一点。
将工具栏定义为一个类,您可以将其放在窗口顶部并让它处理按钮:
class Toolbar:
def __init__(self, width, height): #And other customisation options
self.image = pygame.Surface(width, height)
self.image.fill(colour)
self.rect = self.image.get_rect()
self.rect.topleft = (0,0)
self.leftbutton = ButtonClass(args)
self.rightbutton = ButtonClass(args)
def update(self):
self.leftbutton.hover() #to animate an effect if the mouse hovers over
self.rightbutton.hover()
def draw(self, screen):
screen.blit(self.image, self.rect)
screen.blit(self.leftbutton.draw(), self.leftbutton.getRect())
screen.blit(self.rightbutton.draw(), self.rightbutton.getRect())
def click(pos):
if self.leftbutton.getRect().collidepoint(pos):
self.leftbutton.click()
if self.rightbutton.getRect().collidepoint(pos):
self.rightbutton.click()
这需要一个您可以自己制作的按钮类,但您也可以查看可用于我的网站的模块(这是我对方法调用的想法)http://tarqnet.sytes.net/projects/project-Pygame。 html
从这里,实例化您的工具栏并在主循环中处理它:
toolbar = Toolbar(screen_width, 80)
while True:
toolbar.update()
toolbar.draw(screen)
#Other stuff
## Events:
## on left click call toolbar.click(pos)
于 2014-07-26T16:54:48.977 回答