Location based on rotation
BlitzMax Forums/BlitzMax Programming/Location based on rotation
| ||
Hey guys, math question here... I'm trying to make it so when the player has his accelerate button down, the spaceship will emit fire particles. The below code is what I use to generate the particles, x is the spaceships center x point, and the y is the spaceships center y point. (The image was mid handled) If burning EmitParticle(x,y,firepart,10) End If As expected, it generates a stream of fire particles from the center point of the ship. And the ship rotates (it's an astroid clone) So the problem is: I want the particles to be on the back of the image( where the engine is ) and to do this would mean some trig math that I'm trying to figure out. Any help appriciated! PS. here is the player's ship image(20x20): ![]() The vertice of the concave section of that polygon is where I need the particles to come from |
| ||
particleX = Cos(rotationAngle-90) * -5 + shipX particleY = Sin(rotationAngle-90) * -5 + shipY You need the -90 because 0 degrees would usually be to the right, rather than straight up. The -5 is my estimate of the distance from the centre to the 'particle emitter' of the ship. So you might need to tweak that value slightly. |
| ||
Thanks GFK, just what I was looking for. |