Python中pygame的mouse鼠标事件用法实例

作者:Hongten 时间:2021-02-09 12:21:41 

本文实例讲述了Python中pygame的mouse鼠标事件用法。分享给大家供大家参考,具体如下:

pygame.mouse提供了一些方法获取鼠标设备当前的状态


'''
pygame.mouse.get_pressed - get the state of the mouse buttons  get the state of the mouse buttons
pygame.mouse.get_pos - get the mouse cursor position  get the mouse cursor position
pygame.mouse.get_rel - get the amount of mouse movement  get the amount of mouse movement
pygame.mouse.set_pos - set the mouse cursor position  set the mouse cursor position
pygame.mouse.set_visible - hide or show the mouse cursor  hide or show the mouse cursor
pygame.mouse.get_focused - check if the display is receiving mouse input  check if the display is receiving mouse input
pygame.mouse.set_cursor - set the image for the system mouse cursor  set the image for the system mouse cursor
pygame.mouse.get_cursor - get the image for the system mouse cursor  get the image for the system mouse cursor
'''

在下面的demo中,主要用到了:

pygame.mouse.get_pressed()

pygame.mouse.get_pos()

展示的效果:

Python中pygame的mouse鼠标事件用法实例

游戏效果:

当鼠标经过窗口的时候,窗口背景颜色会随着鼠标的移动而发生改变,当鼠标点击窗口

会在控制台打印出是鼠标的那个键被点击了:左,右,滚轮


#pygame mouse
import os, pygame
from pygame.locals import *
from sys import exit
from random import *
__author__ = {'name' : 'Hongten',
      'mail' : 'hongtenzone@foxmail.com',
      'Version' : '1.0'}
if not pygame.font:print('Warning, Can not found font!')
pygame.init()
screen = pygame.display.set_mode((255, 255), 0, 32)
screen.fill((255,255,255))
font = pygame.font.Font('data\\font\\TORK____.ttf', 20)
text = font.render('Cliked Me please!!!', True, (34, 252, 43))
mouse_x, mouse_y = 0, 0
while 1:
 for event in pygame.event.get():
   if event.type == QUIT:
     exit()
   elif event.type == MOUSEBUTTONDOWN:
     pressed_array = pygame.mouse.get_pressed()
     for index in range(len(pressed_array)):
       if pressed_array[index]:
         if index == 0:
           print('Pressed LEFT Button!')
         elif index == 1:
           print('The mouse wheel Pressed!')
         elif index == 2:
           print('Pressed RIGHT Button!')
   elif event.type == MOUSEMOTION:
     #return the X and Y position of the mouse cursor
     pos = pygame.mouse.get_pos()
     mouse_x = pos[0]
     mouse_y = pos[1]
 screen.fill((mouse_x, mouse_y, 0))    
 screen.blit(text, (40, 100))
 pygame.display.update()

希望本文所述对大家Python程序设计有所帮助。

标签:Python,pygame
0
投稿

猜你喜欢

  • python通过nmap扫描在线设备并尝试AAA登录(实例代码)

    2021-08-06 23:23:42
  • 找Python安装目录,设置环境路径以及在命令行运行python脚本实例

    2022-06-01 23:28:56
  • php函数重载的替代方法--伪重载详解

    2023-11-18 10:24:06
  • 教你使用python做一个“罚点球”小游戏

    2022-10-12 00:09:03
  • 基于PyQt5制作一个windows通知管理器

    2022-10-18 19:28:24
  • 用ASP实现Google在线文章翻译的功能

    2008-10-11 13:55:00
  • [译]开发人员经常犯的8个设计错误

    2008-02-01 12:28:00
  • Python利用PyExecJS库执行JS函数的案例分析

    2022-10-26 08:53:19
  • php下使用iconv需要注意的问题

    2023-11-23 03:05:09
  • 一场关于YUI3/jQuery的精彩辩论

    2010-11-11 12:50:00
  • 讲解设计应用程序时避免阻塞的八个准则

    2009-01-04 14:16:00
  • python中defaultdict方法的使用详解

    2022-06-25 05:07:09
  • 纯手工打造CSS像素画

    2009-03-09 12:57:00
  • CSS Sprites + 圆角[译]

    2009-05-08 16:10:00
  • 使用Python的Tornado框架实现一个简单的WebQQ机器人

    2023-03-19 03:26:09
  • Python模块/包/库安装的六种方法及区别

    2021-11-03 15:53:56
  • 基于PHP RSA密文过长加密解密 越过1024的解决方法

    2023-09-07 02:57:56
  • 从SNS看社会化界面设计(一)

    2009-02-23 12:21:00
  • ASP编写计数器的优化方法

    2009-01-21 19:46:00
  • 谈谈我的“分离”观

    2010-08-31 14:47:00
  • asp之家 网络编程 m.aspxhome.com