ste2425 Posted June 28, 2015 Share Posted June 28, 2015 I have a sprite using Arcade Physics, and a tile-map layer that ive set every tile index in it to collide with the sprite. Because its sprite vs tilemap layer instead of sprite vs sprite the engine sets sprite.body.blocked, not sprite.body.touching. This is all grand and every where ive searched on the forums this information was enough for the person asking. However up, down, left and right is not in relation to the sprites rotation, but seems to be in relation to the map. I have a topdown car that drive around a track (Micro Machines style). What i want is to be able to say which side of the car is colliding taking into account it's rotation. The reason being if you collide on the front and turn slightly it will slide along the collided object. I don't want that, i want to stop the user being able to go forward if they collide on the font of the sprite, or at least change its maximum speed it can move when the front is touching something. Hope all that makes sense. Thanks everybody. Link to comment Share on other sites More sharing options...
wayfinder Posted June 28, 2015 Share Posted June 28, 2015 Wouldn't it be simple to the point of triviality to calculate a direction value (up, down, left, right) from your sprite's rotation (degrees)? Link to comment Share on other sites More sharing options...
ste2425 Posted June 29, 2015 Author Share Posted June 29, 2015 Wouldn't it be simple to the point of triviality to calculate a direction value (up, down, left, right) from your sprite's rotation (degrees)? Don't think i follow, how would that help me work out which side of the sprite is colliding? Its not just driving forwards into things, you could slide into them (When on ice, drifting, handbrake turns), you can reverse into them etc. Does the sprite contain a point object as to the location of the collision which could be used with your idea? Thanks Link to comment Share on other sites More sharing options...
wayfinder Posted June 29, 2015 Share Posted June 29, 2015 When you collide, you know where in relation to the car the object you collided with is. So you check how that matches up with where your car is pointing at the moment, wich you also know. When your car is rotated so that the front points left, and you collide with touching.left = true, then you know it's a head-on collision. Link to comment Share on other sites More sharing options...
Recommended Posts