问题描述
我想使用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_a
和pygame.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.event
和pygame.key
。