I'm wanting to make some blocking detection for a side scroller idea of mine but since I am not using Graal levels I can't use onwall2 functions and such. My idea to implement it would be to have "blocking" image maps much like the attached images. Basically I would use pixel checks to see if the areas around you are blocking or not on the blocking map but the actual blocking map would be hidden or overlayed by actual graphic images. In this example, black would mean blocking and white would be passable.
This would work fairly well except I would need to check quite a large amount of pixels for very large objects. For this reason I have a feature request to make:
PHP Code:
hasimagepixel(r, g, b, file, x, y, w, h) - returns boolean, if the pixel was found or not
Arguments:
r - red value of the pixel to find
g - green value of the pixel to find
b - blue value of the pixel to find
file - filename of image to pixel search
x - x value of upper left corner of area to search
y - y value of upper left corner of area to search
w - width is area to search
h - height of area to search
It's pretty self explanatory; the function searches an image to see if the pixel pixel exists in the box. If at least 1 pixel matching that rgb is found, it returns true, otherwise it returns false.
The red dot in the image attached would actually be in the map, it's just to show you where the character might be. In that case he would need to stop upon hitting the blackness below him.
This could be useful for adding other things too since more then just 2 pixels could be in any given map.