You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pygame中单独获取鼠标的X或Y坐标?

在Pygame中单独获取鼠标X/Y坐标的方法

没错,你猜的完全正确!pygame.mouse.get_pos()就是实现这个需求的核心方法,它会返回一个包含X轴坐标和Y轴坐标的元组,咱们只需要从中提取对应的值就能单独拿到X或Y啦。

基础用法步骤

  • 首先必须初始化Pygame:pygame.init()
  • 调用pygame.mouse.get_pos()获取完整的鼠标位置元组
  • 通过索引直接提取X(索引0)或Y(索引1)坐标

举个简单的例子:

# 先导入并初始化Pygame
import pygame
pygame.init()

# 创建窗口(这一步是必须的,否则无法获取鼠标位置)
screen = pygame.display.set_mode((800, 600))

# 获取鼠标位置
mouse_pos = pygame.mouse.get_pos()

# 单独提取X和Y坐标
mouse_x = mouse_pos[0]
mouse_y = mouse_pos[1]

print(f"当前鼠标X坐标: {mouse_x}")
print(f"当前鼠标Y坐标: {mouse_y}")

pygame.quit()

更实用的循环示例

在实际的Pygame项目中,你通常会在主循环里实时获取鼠标位置,这里给一个完整的可运行示例:

import pygame

pygame.init()
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("实时获取鼠标坐标")
clock = pygame.time.Clock()

running = True
while running:
    # 处理退出事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    
    # 一行代码直接拆分X和Y坐标(更简洁的写法)
    mouse_x, mouse_y = pygame.mouse.get_pos()
    
    # 实时打印坐标
    print(f"鼠标X: {mouse_x}, 鼠标Y: {mouse_y}")
    
    # 刷新窗口
    screen.fill((240, 240, 240))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

额外小技巧:事件中获取鼠标坐标

如果需要在特定事件(比如鼠标点击、拖拽)中获取坐标,也可以直接从事件对象的pos属性中提取,比如鼠标点击时:

for event in pygame.event.get():
    if event.type == pygame.MOUSEBUTTONDOWN:
        # 提取点击时的X/Y坐标
        click_x = event.pos[0]
        click_y = event.pos[1]
        print(f"你点击了位置: X={click_x}, Y={click_y}")

注意:Pygame中的鼠标坐标是以窗口左上角为原点(0,0),向右X值递增,向下Y值递增哦。

内容的提问来源于stack exchange,提问作者PIPO221

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:21:49