怎样在VB中编出这样程序呢?急。

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:00:10
我想做一个小游戏。
游戏里用shape1组出一个数组。共27个。把这个Shape1数组的图做成障碍物挡在路上。
游戏中通过Keydown事件按上下左右键控制人物走动。怎样才能让人物碰到障碍物边缘的时候就让人物停住呢?
目前的keydown是这样做的:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyRight Then
If boy.Left + a < 9840 Then
boy.Left = boy.Left + a
End If
ElseIf KeyCode = vbKeyLeft Then
If boy.Left - a > 0 Then
boy.Left = boy.Left - a
End If
ElseIf KeyCode = vbKeyUp Then
If boy.Top - a > 0 Then
boy.Top = boy.Top - a
End If
ElseIf KeyCode = vbKeyDown Then
If boy.Top + a < 7320 Then
boy.Top = boy.Top + a
End If
End If
End Sub
它只能让我在窗口边缘处停住不走。怎么解决这个障碍物的问题啊?急呀。

将以下代码保存为form1.frm然后用VB打开直接运行就可以了。
因为我不知道你要Shape1数组组成一个什么图,所以我是随机生成的图,不知道是否满足你的意思!
另外我的QQ是110807087,有事可以联系!

'————————form1.frm————————
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3090
ClientLeft = 1395
ClientTop = 1785
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3090
ScaleWidth = 4680
Begin VB.PictureBox boy
Height = 500
Left = 1740
ScaleHeight = 435
ScaleWidth = 435
TabIndex = 0
Top = 1305
Width = 500
End
Begin VB.Shape Shape2
Height = 495
Left = 2625
Top = 1095
Width = 1215
End
Begin VB.Shape Shape