VideoMode sets the size of the display which is measured by integers to represent pixels: So 1360x768 will set a display to have 1360 pixels in the x axis and 768 pixels in the y axis. That much is clear - the picture seems not clearly explained after that. The tutorials have not explained the co-ordinate system properly
According to the tutorial a sprite does not use this system for co-ordinates because a sprite may move by a distance that is less than an int. A sprite uses floating point values to represent it's co-ordinates. (Why it uses floating point types rather than double types is a mystery to me but that may not matter at the moment)
So if a call is made to sprite.GetPosition( ), what is returned is a vector2<float> with x and y - set to the sprite's floating point co-ordinates. What Is a TransformToGlobal supposed to do exactly? This is not explained in the documentation at any length at all. I am not even sure that it is relevant in this context.
These are the two things I want to do at the moment:
1. I want to make sprites appear in a certain position - eg like centre of x axis - regardless of the VideoMode / resolution, regardless of if the display is in fullscreen or in a resized window. I cannot see how this is to be done from the tutorials.
2. I want to make sure that a sprite does not go off the screen. I can see the need to define parameters such like if(sprite position <= boundary position) - don't move further. But the problem in doing this comes back to the problem with the explanations in the tutorial about the co-ordinates. To make matters even more confused, i have read a post right here where someone suggested that a sprite can be kept on screen by using sfml views.
What I need is a clear explanation of the co-ordinate system please.