您好我是Visual Basic的新手并且有一些问题。
我正在使用Visual Studio 2013(visual Basic)。
作为练习,我正在尝试创建一个绘画混音器程序。界面由一个由12种圆形颜色组成的色轮和一台混合机组成。 (轮子类似于下图,混合机器未显示)
孩子将能够将2种颜色拖放到混合机器中以产生最终颜色,然后将其显示在滚轮上,使其能够生成更多颜色等等。
我以为我会将PictureBoxes用于油漆罐和搅拌机。这样我就可以将视觉图像附加到具有透明背景等的组件上,看起来还不错。
1)这些组件是否适用于此目的?
我制作了以下代码,可以在屏幕上拖动2个图片框。
Dim point As New System.Drawing.Point
Dim X, Y As Integer
Private Sub Box2_MouseDown(sender As Object, e As MouseEventArgs) Handles P2.MouseDown
X = Control.MousePosition.X - P2.Location.X
Y = Control.MousePosition.Y - P2.Location.Y
End Sub
Private Sub Box2_MouseMove(sender As Object, e As MouseEventArgs) Handles P2.MouseMove
If e.Button = Windows.Forms.MouseButtons.Left Then
point = Control.MousePosition
point.X = point.X - (X)
point.Y = point.Y - (Y)
P2.Location = point
End If
End Sub
Private Sub Box1_MouseDown(sender As Object, e As MouseEventArgs) Handles P1.MouseDown
X = Control.MousePosition.X - P1.Location.X
Y = Control.MousePosition.Y - P1.Location.Y
End Sub
Private Sub Box1_MouseMove(sender As Object, e As MouseEventArgs) Handles P1.MouseMove
If e.Button = Windows.Forms.MouseButtons.Left Then
point = Control.MousePosition
point.X = point.X - (X)
point.Y = point.Y - (Y)
P1.Location = point
End If
End Sub
我需要将PictureBoxes安排在一个圆圈中,在游戏开始时只能看到红色,绿色和蓝色。
2)我如何做到这一点,如果屏幕改变,他们保持相对位置或我应该有一个固定的屏幕尺寸?
如果孩子将盒子拖到屏幕上的某个位置并释放鼠标按钮,那么盒子也需要固定到位置EG,这样就可以回到同一个位置。
3)我将如何编码? 我想我需要X& Y来确定这个位置。
如果孩子将锅放到搅拌机上并在机器上添加另一个颜色罐,那么产生的颜色罐将出现在滚轮上。
4)我将如何编码? 我想我也需要X& Y坐标检查它是否在PictureBox(颜色混合机器)上面,或者是否有像OnDragOver这样的事件来处理它。
我最后会在应用程序中添加声音,EG(演讲)'你混合红色和蓝色产生紫色'等......如果可能的话?
我对Java中的OOP有很好的理解,并试图尝试新的东西!
所有建议,欢迎和帮助欢迎让我开始朝着正确的方向开始并表示赞赏。
此致
Ĵ