vb编程题找帮助~不胜感激:对所给答案有不解之处!
两条直线:Line1、Line2;一个形状:Shape1。要求:程序运行时,此圆形在两条直线之间移动,当碰到某条直线时立即返回,如此循环。所给答案如下:DimsAsInt...
两条直线:Line1、Line2;一个形状:Shape1。要求:程序运行时,此圆形在两条直线之间移动,当碰到某条直线时立即返回,如此循环。所给答案如下:
Dim s As Integer, h As Long
Private Sub Form Load()
Timer1.Enabled = True
s = - 40
End Sub
Private Sub Timer1 Timer()
Shape1.Move Shape1.Left, Shape1.Top + s
If Shape1.Top <= Line.Y1 Then
s = - s
End If
If Shape1.Top + Shape1.Height >= Line2.Y1 Then
s = - s
End If
End Sub
求解:倒数第三行的If语句中,Line2.Y1是什么意思?如果改成Line.Y2好像也是一样的效果,这是为什么?这里s的设置有什么意义?
VB中直线的X1、X2、Y1、Y2各代表什么意思?
新手,别见笑。望解答。 展开
Dim s As Integer, h As Long
Private Sub Form Load()
Timer1.Enabled = True
s = - 40
End Sub
Private Sub Timer1 Timer()
Shape1.Move Shape1.Left, Shape1.Top + s
If Shape1.Top <= Line.Y1 Then
s = - s
End If
If Shape1.Top + Shape1.Height >= Line2.Y1 Then
s = - s
End If
End Sub
求解:倒数第三行的If语句中,Line2.Y1是什么意思?如果改成Line.Y2好像也是一样的效果,这是为什么?这里s的设置有什么意义?
VB中直线的X1、X2、Y1、Y2各代表什么意思?
新手,别见笑。望解答。 展开
3个回答
展开全部
1)s值用于限制圆形shape1在Y方向的移动距离,当shape1超出line2范围,即:
Shape1.Top + Shape1.Height >= Line2.Y1 需要后缩,因此s要设为负值,使下一次读取
Shape1.Move Shape1.Left, Shape1.Top + s时不至于碰到line2
2)Line2.Y1和line2.Y2一样,是因为此时的直线应当是水平线。
3)直线控件两端的坐标:
x1为在x轴方向的始点,x2为在x轴方向的终点
y1为在x轴方向的始点,y2为在x轴方向的终点
Shape1.Top + Shape1.Height >= Line2.Y1 需要后缩,因此s要设为负值,使下一次读取
Shape1.Move Shape1.Left, Shape1.Top + s时不至于碰到line2
2)Line2.Y1和line2.Y2一样,是因为此时的直线应当是水平线。
3)直线控件两端的坐标:
x1为在x轴方向的始点,x2为在x轴方向的终点
y1为在x轴方向的始点,y2为在x轴方向的终点
--
2022-12-05 广告
2022-12-05 广告
图形化编程简单理解为用积木块形式编程,scratch和python也是其中的一种,属于入门级编程,以其简单生动的画面获得无数学生的喜爱,深圳市创客火科技有限公司是一家做教育无人机的公司,旗下有编程无人机,积木无人机及室内外编队,每款飞机含有...
点击进入详情页
本回答由--提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询