如何在VB.NET中绘制上面的图片

时间:2012-04-15 11:08:50

标签: vb.net graphics 2d

我正在构建一个2D游戏,其中用户是一个圆圈(:P),敌人是来自他的矩形。然而,我的问题是,当我在互联网上找到一张非常漂亮的空间图片时,屏幕会在此图像下方绘制任何内容。一切正常,我仍然可以看到当我碰到一些东西时我的生命会崩溃 - 除了这张照片全部被它覆盖的事实。

简而言之,我的问题是:如何在此基础上绘制所有内容 - (我尝试使用“发送回”命令)

编辑:表单通过计时器绘制所有内容,用户通过键控制他的角色。这可能无济于事 - 但如果它确实如此。 对不起,人们认为你不需要代码。这是:

在mybase.load过程中: PicBackGround.Dock = DockStyle.Fill PicBackGround是带有图像的图片框。

在绘画程序中:

 e.Graphics.Clear(Color.Black)
        e.Graphics.FillEllipse(Brushes.Orange, Player)

        'Projectiles
        Dim i As Integer = 0
        Do
            If Current_Projectile(i).IsEmpty = False Then e.Graphics.FillRectangle(Brushes.Red, Current_Projectile(i))
            i += 1
        Loop Until i = UBound(Current_Projectile)

        'Objects
        i = 0
        Do
            If Objects(i).IsEmpty = False Then e.Graphics.FillRectangle(Brushes.Blue, Objects(i))
            i += 1
        Loop Until i = UBound(Objects)

好的:玩家是一个在顶部声明的矩形Dim Player As New Rectangle(0, 0, 50, 50); 然后是数组对象,它存储有关来自玩家的敌人的所有数据,Current_Projectiles只是一个数组,用于存储玩家触发的矩形(子弹)数据。

你想知道的任何其他事情只是让我知道。

1 个答案:

答案 0 :(得分:2)

是的,控件与您在表单上绘制的任何内容重叠。一个简单的解决方案是使用表单的BackgroundImage属性。或者自己画图像。