View Single Post
  #1  
Old 06-29-2008, 02:28 AM
zokemon zokemon is offline
That one guy...
zokemon's Avatar
Join Date: Mar 2001
Location: Sonoma County, California
Posts: 2,925
zokemon is a jewel in the roughzokemon is a jewel in the rough
Send a message via ICQ to zokemon Send a message via AIM to zokemon Send a message via MSN to zokemon Send a message via Yahoo to zokemon
Blocking Map Detection

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(rgbfilexywh) - returns boolean, if the pixel was found or not

Arguments
:
red value of the pixel to find
green value of the pixel to find
blue value of the pixel to find
file 
filename of image to pixel search
x value of upper left corner of area to search
y value of upper left corner of area to search
width is area to search
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.
__________________
Do it with a DON!
Reply With Quote