微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pygame按键约定

如何解决pygame按键约定

我想使用w a s d键移动而不是使用箭头键 但是我不知道如何用下面的代码来做到这一点。我要替换pygame.KEYDOWN 带有s的按钮,但我不知道该怎么做。

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_LEFT:
        Pacman.changespeed(-30,0)
    if event.key == pygame.K_RIGHT:
        Pacman.changespeed(30,0)
    if event.key == pygame.K_UP:
        Pacman.changespeed(0,-30)
    if event.key == pygame.K_DOWN:
        Pacman.changespeed(0,30)

解决方法

您不需要更改事件类型。 w a s d Dim dsDataSet As New DataSet Dim ConnectionString As String Dim daDataAdapter As OleDb.OleDbDataAdapter Dim dBaseConnection As New System.Data.OleDb.OleDbConnection Dim strFilePath As String = gloStrPath & "data" Dim strDBF As String = "HISTORY.DBF" Try ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFilePath & ";Extended Properties=dBase III;" dBaseConnection = New System.Data.OleDb.OleDbConnection(ConnectionString) If dBaseConnection.State = 0 Then dBaseConnection.Open() Catch ex As Exception MsgBox(ex.Message,16,"Error") End Try Try daDataAdapter = New OleDb.OleDbDataAdapter("select * from " & strDBF,dBaseConnection) daDataAdapter.Fill(dsDataSet,"Name") Catch ex As Exception MsgBox(ex.Message,"Error") End Try pygame.K_w表示, pygame.K_apygame.K_s,但事件类型仍为pygame.K_d

pygame.KEYDOWN

注意:if event.type == pygame.KEYDOWN: if event.key == pygame.K_d: Pacman.changespeed(-30,0) if event.key == pygame.K_a: Pacman.changespeed(30,0) if event.key == pygame.K_w: Pacman.changespeed(0,-30) if event.key == pygame.K_s: Pacman.changespeed(0,30) 并不意味着“向下”键,而是按下了一个键。按下键时会发生KEYDOWN事件,而释放键时会发生KEYDOWN事件。参见pygame.eventpygame.key

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。