How would you make each country a sprite when they are all irregularly
shaped? All the responses are great.
-Miguel

On Tue, May 18, 2010 at 10:27 AM, Kenny Meyer <knny.m...@gmail.com> wrote:

> Timothy Baldock (t...@entropy.me.uk) wrote:
> > Hi Kenny,
> >
> > I'd do this by making each country a sprite with a transparent
> > background (colour-key transparency would work), then whenever the user
> > clicks doing a collision detection between the position of the mouse
> > cursor (first use rect-collision to build a small number of tiles which
> > match, then do pixel-perfect collision based on alpha - i.e. using the
> > sprite's mask). Easiest way to do this IMO is to draw an "invisible"
> > (e.g. position the sprite, but don't actually draw it to the screen)
> > 1x1px sprite at the position of the mouse cursor, then collide that
> > against the group containing all the country sprites.
> >
> > This technique means the countries can be any colour you want, or the
> > colour can change without messing things up. I used this method for my
> > isometric game engine to allow selection of tiles and other objects and
> > found it to be quite fast.
> >
> > Thanks,
> >
> > Timothy
> >
> >
> > On 18/05/2010 05:09, Kenny Meyer wrote:
> > > Hey,
> > >
> > > I'd like to work with irregular formed geometric shapes like those in
> of
> > > country maps in pygame.
> > >
> > > I want to do the following:
> > > "Divide" a country map into its states and provinces and make each of
> them
> > > "click-able", where the map could be an image (*.png) or maybe a vector
> graphic
> > > (*.svg).
> > >
> > > The result should be:
> > > A game where to guess and click the name of the state and province on a
> map.
> > >
> > > Observations:
> > > It would be quite difficult to assign each state/province fixed
> coordinates as
> > > those are irregular geometric shapes.
> > >
> > > Any ideas, pointers to other projects or suggestions?
> > >
> >
>
> Timothy,
>
> Thank you for your answer!
>
> > I'd do this by making each country a sprite with a transparent
> > background (colour-key transparency would work), then whenever the user
> > clicks doing a collision detection between the position of the mouse
> > cursor (first use rect-collision to build a small number of tiles which
> > match, then do pixel-perfect collision based on alpha - i.e. using the
> > sprite's mask). Easiest way to do this IMO is to draw an "invisible"
> > (e.g. position the sprite, but don't actually draw it to the screen)
> > 1x1px sprite at the position of the mouse cursor, then collide that
> > against the group containing all the country sprites.
> I get the idea and I also think I will try this.  Do you have any concrete
> examples of this in action?
>
> --
>  Regards,
>   Kenny Meyer
>

Reply via email to