Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C-与代码生成图像相交的对象_C#_Winforms_Object_Collision Detection_Picturebox - Fatal编程技术网

C# C-与代码生成图像相交的对象

C# C-与代码生成图像相交的对象,c#,winforms,object,collision-detection,picturebox,C#,Winforms,Object,Collision Detection,Picturebox,我正在尝试使用C Windows窗体构建一个简单的RPG,因为我最近偶然发现了一个演示此功能的有趣教程。我有两项: 已放置在游戏中的“角色”对象: 我还有一个代码生成的Draw对象,一个内置于游戏中的树: public void MainFormPaint(object sender, PaintEventArgs e) { //Drawing a tree, to create transparency Image Tree_2

我正在尝试使用C Windows窗体构建一个简单的RPG,因为我最近偶然发现了一个演示此功能的有趣教程。我有两项:

已放置在游戏中的“角色”对象:

我还有一个代码生成的Draw对象,一个内置于游戏中的树:

public void MainFormPaint(object sender, PaintEventArgs e)
        {
            //Drawing a tree, to create transparency
            Image Tree_2 = Image.FromFile("[Directory to PNG].png");
            Tree_2.Tag = "Tree";
            e.Graphics.DrawImage(Tree_2,50,50,200,200);
        }
…由此产生:

鉴于我无法通过类似以下方式检测到物体:

Character.Bounds.Intersectswith([insert_my_picture].Bounds);
这让我有点困惑,我不知道该怎么办。我想检测这次碰撞,这样我就可以停止移动。但是,我不知道如何检查我旁边的“空白点”或代码生成的任何对象。需要注意的是,生成此图像的代码是为了保持图形的透明度,因为在表单中放置对象和使用重叠对象保持透明度显然存在问题


谢谢你的帮助

在运行时绘制图形时,我需要生成一个矩形:

Rectangle firstTree = new Rectangle();
…在公共变量区域中,然后在绘制事件中创建它

public void MainFormPaint(object sender, PaintEventArgs e)
    {
        e.Graphics.DrawImage(Tree_Obj,50,50,200,200);
        firstTree.X = 50;
        firstTree.Y = 50;
        firstTree.Width = 200;
        firstTree.Height=200;
    }

完整的封装边界仅用于试验。问题解决了

有许多关于不同类型碰撞系统的教程,因为这在大多数游戏中都会以不同的程度出现。试试网络搜索,喝杯咖啡。。也许像素完美也是一个有用的关键词,尽管通常人们希望建立额外的边界区域并分离视图/物理系统。谢谢。然而,我发现了这一点,除了参数[Rectangle rectangleA],我不知道如何实现所有东西。关于图片是否存在可以传递的“其他”参数?