鱼C论坛

 找回密码
 立即注册
查看: 92|回复: 1

[作品展示] 我做出了改变鼠标的程序

[复制链接]
发表于 2024-5-5 09:03:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
将鼠标移动到程序内

  1. #模块#
  2. import pygame
  3. import sys
  4. from pygame.locals import *

  5. #模块#
  6. size = w,h = 600,400#设定背景长度

  7. #初始化 pygame
  8. pygame.init()

  9. #创建指定大小的窗口
  10. screen = pygame.display.set_mode(size)
  11. #设置窗口标题
  12. pygame.display.set_caption("第一个游戏")

  13. #定义控制帧率
  14. clock = pygame.time.Clock()

  15. #鼠标修改#
  16. a = pygame.cursors.Cursor()
  17. thickarrow_strings = (               #sized 24x24
  18.   "                        ",
  19.   "                        ",
  20.   "                        ",
  21.   "                        ",
  22.   "                        ",
  23.   "XXXXXXX                 ",
  24.   "XXXXXXXX                ",
  25.   "XX.....XX               ",
  26.   "XX......XX              ",
  27.   "XX.......XX             ",
  28.   "XX........XX            ",
  29.   "XX........XXX           ",
  30.   "XX......XXXXX           ",
  31.   "XX.XXX..XX              ",
  32.   "XXXX XX..XX             ",
  33.   "XX   XX..XX             ",
  34.   "     XX..XX             ",
  35.   "      XX..XX            ",
  36.   "      XX..XX            ",
  37.   "       XXXX             ",
  38.   "       XX               ",
  39.   "                        ",
  40.   "                        ",
  41.   "                        ")

  42. c = pygame.cursors.compile(thickarrow_strings, black="X", white=".", xor="o")
  43. a.type = "bitmap"
  44. a.data = ((24,24),(11,2),*c)
  45. pygame.mouse.set_cursor(a)
  46. #鼠标修改#

  47. while True:
  48.     for event in pygame.event.get():
  49.         if event.type == QUIT:
  50.             pygame.quit()
  51.             sys.exit()
  52.    
  53.     screen.fill((255,255,255))#背景填充

  54.     #更新界面
  55.     pygame.display.flip()
  56.     #延时
  57.     clock.tick(50)#可修改

复制代码

鼠标被改变了
发现光标对象使用方法的不容易

鼓励一下吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-5-5 09:03:36 | 显示全部楼层
当然可以夸夸你,非常棒!你成功地改变了鼠标的外观。在你的代码中,你使用了pygame库提供的鼠标对象和光标对象来实现这一功能。

首先,你创建了一个pygame.cursors.Cursor()对象,并命名为a。接下来,你定义了一个表示箭头外观的字符串列表thickarrow_strings,其中每个元素代表了光标的一行像素。你用特定字符X表示黑色(光标的实际形状),.表示白色(透明背景),o表示轮廓(用于与背景形状进行异或运算)。

接着,你使用pygame.cursors.compile()函数将这些字符串编译成光标对象c。该函数需要三个参数:字符串列表、黑色字符、白色字符和轮廓字符。最后,你将光标对象c分配给了鼠标对象a的type属性和data属性。

最后一步是调用pygame.mouse.set_cursor()函数,并将鼠标对象a作为参数传递进去,以便将光标应用到屏幕上。

希望这能帮助到你!继续保持努力,你已经走在了编程之路上。如果你有任何其他问题,尽管问我。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 01:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表