Jump to content

  • Log In with Google      Sign In   
  • Create Account

Interested in a FREE copy of HTML5 game maker Construct 2?

We'll be giving away three Personal Edition licences in next Tuesday's GDNet Direct email newsletter!

Sign up from the right-hand sidebar on our homepage and read Tuesday's newsletter for details!


We're also offering banner ads on our site from just $5! 1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Scaling sprites in 2D


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
No replies to this topic

#1 ta0soft   Members   -  Reputation: 123

Like
0Likes
Like

Posted 24 February 2012 - 04:08 PM

I'm trying to create a resizable UI using sprites in SlimDX. I am drawing them in screen/window coordinates using Sprite.Draw, but I can't figure out how to scale sprites in screen coordinates.

For instance I need 9 sprites to draw the background of a button control. One for each corner and edge of the rectangle, and one for the center area. I want to stretch the center sprite so it fills the buttons background when it changes size.

Posted Image

I know how to get the scalar value of 2 integers but I don't know how this would apply in scaling the sprite. Any help would be greatly appreciated.

float scaleWidth = ?
float scaleHeight = ?

Sprite.Transform = Matrix.Transformation2D(new Vector2(p_Bounds.X + MiddleLeft.Width, p_Bounds.Y + TopCenter.Height), 0.0f, new Vector2(scaleWidth, scaleHeight), new Vector2(), 0.0f, new Vector2());
Sprite.Draw(Texture, MiddleCenter, new Vector3(), new Vector3(p_Bounds.X + MiddleLeft.Width, p_Bounds.Y + TopCenter.Height, 0.0f), new Color4(Color.White));


Sponsor:



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.



PARTNERS