模块一:cursors模块

cursors模块主要用于定义pygame中的Cursor类,也就是我们常说的游标(光标)。在pygame中,游标主要分为三类,分别是系统的游标、pygame中预定义的游标以及自定义的游标。下面用例子来说明这三种游标的创建和使用。

游标的创建
# 使用系统的游标
cursor1 = pygame.cursors.Cursor(pygame.SYSTEM_CURSOR_ARROW)

系统游标:

Pygame Cursor ConstantDescription
pygame.SYSTEM_CURSOR_ARROWarrow
pygame.SYSTEM_CURSOR_IBEAMi-beam
pygame.SYSTEM_CURSOR_WAITwait
pygame.SYSTEM_CURSOR_CROSSHAIRcrosshair
pygame.SYSTEM_CURSOR_WAITARROWsmall wait cursor(or wait if not available)
pygame.SYSTEM_CURSOR_SIZENWSEdouble arrow pointing northwest and southeast
pygame.SYSTEM_CURSOR_SIZENESWdouble arrow pointing northeast and southwest
pygame.SYSTEM_CURSOR_SIZEWEdouble arrow pointing west and east
pygame.SYSTEM_CURSOR_SIZENSdouble arrow pointing north and south
pygame.SYSTEM_CURSOR_SIZEALLfour pointed arrow pointing north, south, east, and west
pygame.SYSTEM_CURSOR_NOslashed circle or crossbones
pygame.SYSTEM_CURSOR_HANDhand
# 使用pygame中的游标
# 预定义的游标
cursor2 = pygame.cursors.arrow
# 编译预定义的字符串来创建游标
cursor3 = pygame.cursors.compile(pygame.cursors.textmarker_strings)

pygame中预定义的游标和字符串:

Pygame CursorPygame Cursor String
pygame.cursors.arrowpygame.cursors.thickarrow_strings
pygame.cursors.diamondpygame.cursors.sizer_x_strings
pygame.cursors.broken_xpygame.cursors.sizer_y_strings
pygame.cursors.tri_leftpygame.cursors.sizer_xy_strings
pygame.cursors.tri_rightpygame.cursor.textmarker_strings
# 使用自定义的游标
cursor4 = pygame.Cursor(
    (16, 16),
    (0, 0),
    (
        0x00,
        0x00,
        0x40,
        0x00,
        0x60,
        0x00,
        0x70,
        0x00,
        0x78,
        0x00,
        0x7C,
        0x00,
        0x7E,
        0x00,
        0x7F,
        0x00,
        0x7F,
        0x80,
        0x7C,
        0x00,
        0x6C,
        0x00,
        0x46,
        0x00,
        0x06,
        0x00,
        0x03,
        0x00,
        0x03,
        0x00,
        0x00,
        0x00,
    ),
    (
        0x40,
        0x00,
        0xE0,
        0x00,
        0xF0,
        0x00,
        0xF8,
        0x00,
        0xFC,
        0x00,
        0xFE,
        0x00,
        0xFF,
        0x00,
        0xFF,
        0x80,
        0xFF,
        0xC0,
        0xFF,
        0x80,
        0xFE,
        0x00,
        0xEF,
        0x00,
        0x4F,
        0x00,
        0x07,
        0x80,
        0x07,
        0x80,
        0x03,
        0x00,
    ),
)
thickarrow_strings = (  # sized 24x24
    "XX                      ",
    "XXX                     ",
    "XXXX                    ",
    "XX.XX                   ",
    "XX..XX                  ",
    "XX...XX                 ",
    "XX....XX                ",
    "XX.....XX               ",
    "XX......XX              ",
    "XX.......XX             ",
    "XX........XX            ",
    "XX........XXX           ",
    "XX......XXXXX           ",
    "XX.XXX..XX              ",
    "XXXX XX..XX             ",
    "XX   XX..XX             ",
    "     XX..XX             ",
    "      XX..XX            ",
    "      XX..XX            ",
    "       XXXX             ",
    "       XX               ",
    "                        ",
    "                        ",
    "                        ")
cursor5 = pygame.cursors.compile(thickarrow_strings)
游标的使用

游标的使用非常简单,只需要通过调用mouse模块中的set_cursor()函数来设置不同的游标。

# 游标的使用
pygame.mouse.set_cursor(cursor1)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不负韶华ღ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值