Jump to content

View more

Image of the Day

#ld38 #screenshotsaturday Mimosa Fizz action gif #2 https://t.co/TUzdppvfUL
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.


Sign up now

C++ Function to center image?

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
2 replies to this topic

#1 Dynamite Andy   Members   

119
Like
0Likes
Like

Posted 05 April 2013 - 08:27 AM

Hey,
So i'm working with a game engine that was wrote by charles kelly for his book programming 2D games.

His engine is rather good, however positioning images is rather bad as it does it as x = left corner and y = top of image
I don't want to do the maths to center an image in the position x,y i'd much rather write a function for it..

there's already functions for getting the center x and center y.

 

however how would i go about writing a function so that it takes int x, int y and moves the image so that its center is x,y?

// Return center X.
    virtual float getCenterX()      {return spriteData.x + spriteData.width/2*getScale();}

    // Return center Y.
    virtual float getCenterY()      {return spriteData.y + spriteData.height/2*getScale();}

// getScale() incase needed
// Return scale factor.
    virtual float getScale()    {return spriteData.scale;}

14o6l9e.png

The image to above shows what im after..

red = current setting.

blue = what im after


Edited by Dynamite Andy, 05 April 2013 - 08:40 AM.


#2 SimonForsman   Members   

7633
Like
3Likes
Like

Posted 05 April 2013 - 08:45 AM

I think this should work.

virtual void setCenteredPosition(float x, float y) {
    spriteData.x = x - spriteData.width/2*getScale();
    spriteData.y = y - sprideData.height/2*getScale();
}

Edited by SimonForsman, 05 April 2013 - 08:45 AM.

I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#3 Dynamite Andy   Members   

119
Like
0Likes
Like

Posted 05 April 2013 - 08:51 AM

That did the trick, thank you! :)






Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.