版本25和26间的区别
于2006-10-27 21:25:45修订的的版本25
大小: 1320
编辑: czk
备注:
于2006-10-27 21:31:50修订的的版本26
大小: 1724
编辑: czk
备注:
删除的内容标记成这样。 加入的内容标记成这样。
行号 25: 行号 25:
要取得事件队列中的事件,pygame提供了一组函数。pygame.event.get函数可以从队列获取所有的消息,并把它们从队列中删除。比如:
{{{#!python
for e in pygame.event.get():
    if e.type == QUIT:
        sys.exit()
    else if e.type == KEYDOWN:
        pass #your process here
    else if e.type == MOUSEBUTTONDOWN:
        pass #your process here
}}}

TableOfContents

事件系统

Pygame通过一个事件系统与用户进行交互,以及处理一些系统发生的事件。事件系统包括一个事件队列,其中每一项都是一个Event对象。所有的用户输入和一些系统事件,都会形成一个Event对象被添加到事件队列中。pygame.event模块提供了很多函数去访问和控制这个队列。

Event对象有各种不同的类型,比如KEYDOWN(键盘键按下)、MOUSEBUTTONDOWN(鼠标键按下)等,通过Event.type属性来区分。不同的类型的Event对象还有不同的其它属性。常用的类型和对应的属性有:

          QUIT             none
          ACTIVEEVENT      gain, state
          KEYDOWN          unicode, key, mod
          KEYUP            key, mod
          MOUSEMOTION      pos, rel, buttons
          MOUSEBUTTONUP    pos, button
          MOUSEBUTTONDOWN  pos, button
          JOYAXISMOTION    joy, axis, value
          JOYBALLMOTION    joy, ball, rel
          JOYHATMOTION     joy, hat, value
          JOYBUTTONUP      joy, button
          JOYBUTTONDOWN    joy, button
          VIDEORESIZE      size, w, h
          VIDEOEXPOSE      none
          USEREVENT        code

要取得事件队列中的事件,pygame提供了一组函数。pygame.event.get函数可以从队列获取所有的消息,并把它们从队列中删除。比如:

   1 for e in pygame.event.get():
   2     if e.type == QUIT:
   3         sys.exit()
   4     else if e.type == KEYDOWN:
   5         pass  #your process here
   6     else if e.type == MOUSEBUTTONDOWN:
   7         pass #your process here

键盘

鼠标

定时

摇杆

The End

Pygame事件与用户交互 (2008-02-23 15:36:58由localhost编辑)

ch3n2k.com | Copyright (c) 2004-2020 czk.