我正在为我的游戏添加一个标题屏幕,我想添加一个“播放”按钮,当用户点击它时,它将启动主游戏。
我已经把一切都设置好了,但我不确定鼠标与播放按钮图像交互的命令是什么。
首先,我将播放按钮图像加载到主循环之外
play = pygame.image.load("play.png").convert()
然后,我把它放在屏幕上,后面有一个矩形作为标记
play_button = pygame.draw.rect(screen, WHITE, [365, 515, 380, 180])
screen.blit(play, [350, 500])
PyGame
是一个低级库,它没有GUI小部件,您必须自己做很多事情。
创建类按钮
并多次使用它更容易。
下面是使用class按钮的示例。当你点击它时,改变颜色。
事件处理程序()
检查按钮单击。
import pygame
# --- class ---
class Button(object):
def __init__(self, position, size):
# create 3 images
self._images = [
pygame.Surface(size),
pygame.Surface(size),
pygame.Surface(size),
]
# fill images with color - red, gree, blue
self._images[0].fill((255,0,0))
self._images[1].fill((0,255,0))
self._images[2].fill((0,0,255))
# get image size and position
self._rect = pygame.Rect(position, size)
# select first image
self._index = 0
def draw(self, screen):
# draw selected image
screen.blit(self._images[self._index], self._rect)
def event_handler(self, event):
# change selected color if rectange clicked
if event.type == pygame.MOUSEBUTTONDOWN: # is some button clicked
if event.button == 1: # is left button clicked
if self._rect.collidepoint(event.pos): # is mouse over button
self._index = (self._index+1) % 3 # change image
# --- main ---
# init
pygame.init()
screen = pygame.display.set_mode((320,110))
# create buttons
button1 = Button((5, 5), (100, 100))
button2 = Button((110, 5), (100, 100))
button3 = Button((215, 5), (100, 100))
# mainloop
running = True
while running:
# --- events ---
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# --- buttons events ---
button1.event_handler(event)
button2.event_handler(event)
button3.event_handler(event)
# --- draws ---
button1.draw(screen)
button2.draw(screen)
button3.draw(screen)
pygame.display.update()
# --- the end ---
pygame.quit()
https://github.com/furas/my-python-codes/blob/master/pygame/button-click-cycle-color/main_class.py
问题内容: 我想知道如何使用pygame绘制图像。我知道如何加载它们。我做了一个空白的窗口。当我使用时,它不会绘制图像,而是将屏幕留空。 问题答案: 这是一个典型的布局:
有人能解释这些代码吗?为什么它有<code>在那里?
Python 是当下最为火热,且功能最为全面的一门编程语言。Python 之所以深受大家喜爱, 除了可以被应用到“人工智能”领域之外,还可以延伸到数据分析、Web 开发、自动化测试、自然语言处理、游戏开发等各个领域。这一切的实现得益于 Python 有一个强大的第三方库(网址: https://pypi.org/),这个第三方库相当于一个手机软件市场,允许我们随意下载各式各样的软件包,并且开箱即用
我正在做一个基本的游戏,如果我点击一张牌,就会显示一张图片。这些照片是随机挑选的。到目前为止,我已经将随机图片分配给一张卡片,卡片正面朝下显示。因此,如果我单击卡片,我希望显示指定的图片(在字典中)。 我想知道如何检测我是否点击了(卡片的)图像,因为图像的x,y坐标在左上角。现在,我正试图找到一种方法,使用鼠标点击的xy坐标来检测图像是否被点击。有没有一种方法可以使用“碰撞”或使事情变得太复杂?我
在docker图像剪枝的docker文档中,可以使用-a标志来 删除所有未使用的图像,而不仅仅是悬空的图像 而后来
问题内容: 我已经完成了一次Google搜索,并搜索了我的两本python初学者书籍,以查找执行此操作的方法。我认为这必须是一个简单的任务。基本上,我正在与python一起使用pygame。 我希望如果我单击button1_image,它会更改为button1select_image,对吗?如果单击button2_image,它将button1select_image设置回button1_imag