Yeah!

This is really smart indeed, thanks for this, of course it was helpful :-)

Hm... i'll use this thread for asking a new question, always concerning my
car game.

Now, i would like to handle collisions. I already wrote something for detect
when car go out the road using mask. Now i would like to detect when the car
hit an 'obstacle'. My first idea was to use another mask : so at the moment,
i do this way :


   - calculates the position of two front points of the car (front left and
   front right) considering the rotation
   - use those points and the mask to check if the car hit an obstacle

Once again, this is my way to do. Might be not the best, so if someone have
another idea.

Here's the previous demo with Weeble improvements and my obstacles detection
: http://pastebin.com/ibS5AtnN

2011/9/5 Weeble <clockworksa...@gmail.com>

> On Mon, Sep 5, 2011 at 5:54 PM, Nathan BIAGINI <nathan.o...@gmail.com>
> wrote:
> > Hi again,
> >
> > i have a new problem to solve concerning my little car game. Actually i
> > thought i did it but i just stopped a bug in my code.
> >
> > In fact, i decided to not move the car but to scroll the screen. I only
> move
> > the car when the player reach one of the four edges of the map. I keep
> the
> > 'virtual' position of the car on the circuit and i use them to
> determinate
> > how i need to stop scrolling the screen and start moving the car.
> [...]
>
> Hi Nathan,
>
> I ran your demo and I have two suggestions:
>
> 1. You calculate a new rectangle for your car at the top of the update
> method based on self.image from *last* frame. Then you calculate a new
> self.image based on the current rotation. When I moved the rectangle
> calculation down to be the last thing in update(), the turning was
> *much* smoother.
>
> 2. When doing scrolling like this, I would normally give the player
> object only what you call "virtual_x" and "virtual_y" - the position
> of the player relative to the map. These would be the only things
> updated in the update() method - I wouldn't track x, y, offset_x or
> offset_y at all. I create a separate class that I call "Camera" or
> "Viewport" with its own x and y, then at the point that I'm drawing
> things I subtract the camera's x and y from the player's x and y to
> find the screen coordinates to draw the player.
>
> Here's your demo with those two changes:
>
> http://pastebin.com/mxmbZGLT
>
> Hope that's helpful!
>

Reply via email to