Erasing GraphicsPath
-
Hi everybody I'm currently developing a 2D RPG game like diablo 2. And this year I finally finished the physics engine :) . For drawing the objects I use GDI+. Now I'm working on the level editor and I want to give more freedom for the level designers like giving them the option to decide by their own which regions of the map shall be impassable. The point is to give them a pen tool which they can use to freehand draw the impassable regions - something like Microsoft inkball game(http://www.windowsvistauserguide.com/vista2/games/inkball3.JPG) where you draw a line and when the ball touches the line it bouns from it. For that pen tool I use System.Drawing.Drawing2D.GraphicsPath function - the problem I have is that I don't know how to provide to the level designer a tool for erasing the created impassable regions - do you know a way to erase part of graphic created with System.Drawing.Drawing2D.GraphicsPath function? I've read an article where you can "erase" the created line by drawing another one with the same background color as the containing control but it just didn't work in my case because for background I don't have a solid color but a complex bitmap texture and objects like units and buildings. Please help, thank you in advance and sorry for my bad english.
-
Hi everybody I'm currently developing a 2D RPG game like diablo 2. And this year I finally finished the physics engine :) . For drawing the objects I use GDI+. Now I'm working on the level editor and I want to give more freedom for the level designers like giving them the option to decide by their own which regions of the map shall be impassable. The point is to give them a pen tool which they can use to freehand draw the impassable regions - something like Microsoft inkball game(http://www.windowsvistauserguide.com/vista2/games/inkball3.JPG) where you draw a line and when the ball touches the line it bouns from it. For that pen tool I use System.Drawing.Drawing2D.GraphicsPath function - the problem I have is that I don't know how to provide to the level designer a tool for erasing the created impassable regions - do you know a way to erase part of graphic created with System.Drawing.Drawing2D.GraphicsPath function? I've read an article where you can "erase" the created line by drawing another one with the same background color as the containing control but it just didn't work in my case because for background I don't have a solid color but a complex bitmap texture and objects like units and buildings. Please help, thank you in advance and sorry for my bad english.
It doesn't sound like you have much of a choice but to repaint everything except the portions you're removing.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008
But no longer in 2009...