我是PyGame的新手,需要一些帮助!
让我首先说我对Python语言有基本的了解,我最近开始学习如何使用PyGame以及它对我来说是新的东西。但是在尝试为PyGame编写代码时,我确实遇到了很多问题。 只是为了让你知道我已经阅读并观看了很多教程,但没有一个能帮助我达到我需要的方式。
我的问题是我试图在屏幕上显示一个框,上面写着一个单词,例如:“你好”。单击该按钮后,将显示hello。
这是我的计划:
如果有可能,请告诉我这是否真的可以使用python和pygame /提示我如何做到这一点(比如一些有用的链接,因为Google已经归结为我的朋友了搜索.XD)?如果不是你推荐的那种语言我会在吗?
答案 0 :(得分:3)
看看:
http://pygame.org/docs/ref/mouse.html#pygame.mouse.get_pos http://pygame.org/docs/ref/rect.html#pygame.Rect.collidepoint http://pygame.org/docs/ref/draw.html#pygame.draw.rect http://pygame.org/docs/ref/font.html#pygame.font.SysFont
如果你只处理一种形状,我的建议是一种程序性方法:
pygame.draw.rect
在点上绘制矩形。 否则,我会采用面向对象的方法,并为每个形状使用pygame.sprite.Sprite
类,或者如果您有特殊需要,则使用自定义类。当然,点击捕获和整理部分仍然是程序性的。
我改编了一个项目,我正在努力做我认为你想要的事情:
您无法实际看到光标,但我点击鼠标中键创建圆圈,并使用主按钮显示文字。
来源:http://pastebin.com/jycEFAtX
注意:这是一个圆圈,而不是一个矩形,因为我正在使用圆圈,但这应该很容易让你改变。一切都很糟糕,因为我只是调整了我的所有内容并将它们放在一个文件中(最好将它分成不同的文件)。使用它只是为了了解如何做你想做的事。
您可以将obj.text
设置为None
来删除文字,例如event.button == SECONDARY_BUTTON
时,您可以通过点击圈子上的辅助鼠标按钮删除文字。< / p>
P.S。:请注意,我有一个用鼠标位置碰撞物体的功能(因为我正在使用它需要它),但你不需要它。您可以按照上面的建议使用pygame.Rect
和pygame.Rect.collidepoint
。