VB编程直行2秒,转变,直行2秒?

来源:百度知道 编辑:UC知道 时间:2024/06/21 16:35:48

简单。
设置一个整数,假定你的方向只有4个,他的值就是从1到4;如果你用8个方向,他的值就从1到8(一般游戏就8个方向);如果要求更多,以此类推,例如每度一个方向,就从1到360

使用一个计时器,时间设置为100(也就是0.1秒)。用来控制直行。同时直行一步计数加1或者减1(这没有本质区别),加到20(或者从20减到0),也就是2秒了,就转向(因为不知道你转向一次转多大的角,所以代码不好写)。

先说到这里,我谢谢代码看

好了,做了一个示意性的:一个timer(控制时间),一个label(表示运动物体),四个方向。代码如下:
Dim 方向 As Integer
Dim 时间 As Integer
Const 步长 = 45
Const 长 = 210
Const 宽 = 105

Private Sub Form_Load()
Timer1.Interval = 50
时间 = 1
Label1.BackColor = vbRed
Label1.Width = 宽
Label1.Height = 长
Label1 = ""
End Sub

Private Sub Timer1_Timer()
时间 = 时间 - 1
If 时间 = 0 Then
方向 = Int(Rnd * 4)
中心x = Label1.Left + Label1.Width / 2
中心y = Label1.Top + Label1.Height / 2
If 方向 = 0 Or 方向 = 2 Then'如果方向很多,这里就要用到图片旋转或者图片装入等思路
Label1.Move 中心x - 宽 / 2, 中心y - 长 / 2, 宽, 长
Else
Label1.Move 中心x - 长 / 2, 中心y - 宽 / 2, 长, 宽
End If
时间 = 20
End If
Select Case