[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] Help: improve new module documentation. Read this, and give me comments.



An alternate to this, might be to keep an array of the distance to the
first pixel from each for, top, right, bottom, left

e.g. the top one is an array of the y distance to the first pixel;
this would be checked against the other objects corresponding top and
bottom arrays; probably a whole lot cheaper than checking every pixel
against every other pixel.

(it's late so I've probably written this down without making it make sense)
On 22/01/2008, FT <chester_lab@xxxxxxxx> wrote:
> Hi!
>
>     A thought, I am sure you probably have tried it. But you mention the
> vector, and you know the direction, thus you can reduce the field of
> mask/test then check less pixels in the upcoming collision point(s). Just a
> thought, just requires that vector and how to write that vector. Knowing the
> image at start and it's direction, then only looking at that point and the
> look-ahead pixels of that point/area.
>
>     Only a thought, yet have not read /looked at any code to know what you
> guys have done.
>
>         Bruce
>
>
> Yeah I have generated my own masks in pure python for per pixel or
> special effects, and it is super slow.  I have to precalculate all the
> masks or there is nothing doing.  This module sounds great!
>
> The only point of confusion is the point of intersection.  Very rarely
> is only one point intersecting.  Which point exactly is the
> intersecting point?  With rects you could say its the corner, or you
> could have a vector that determines how far out to move it, based on
> the center of the rect, so it's not intersecting etc, but with a mask
> there is no "corner", and likely not a "center" either.
>
> On Jan 22, 2008 1:55 PM, Ian Mallett <geometrian@xxxxxxxxx> wrote:
> > Sorry, don't have time to give a good answer about the documentation,
> > but a pixel perfect collision detector is great!  The one I wrote for
> > a game a while ago works, but is not to portable...
> > I
> >
>
>