Esempio n. 1
0
 //reuse this code when declaring and setting up sprites
 public void setupSprite(ref GameSpriteStruct sprite, float widthfactor, float ticksToCrossScreen, float initialX, float initialY, bool initialVisibility)
 {
     sprite.widthfactor           = widthfactor;
     sprite.ticksToCrossScreen    = ticksToCrossScreen;
     sprite.spriteRectangle.Width = (int)((displayWidth * widthfactor) + 0.5f);
     //  float aspectRatio = (float)sprite.spriteTexture.Width / sprite.spriteTexture.Height;
     sprite.spriteRectangle.Height = (int)((sprite.spriteRectangle.Width) + 0.5f);
     sprite.Xpos    = initialX;
     sprite.Ypos    = initialY;
     sprite.Xspeed  = displayWidth / ticksToCrossScreen;
     sprite.Yspeed  = sprite.Xspeed;
     sprite.Visible = initialVisibility;
 }
 /*
 void setupSprites()
 {   //This is how to use references so that methods can change the content of variables passed as parameters
     //setupSprite(ref blueCheese, 0.05f, 200.0f, 200, 100, true);
     //setupSprite(ref frenchBread, 0.15f, 120.0f, (displayWidth / 2) - 75, displayHeight / 1.3f, true);
 }
 */
 /// <summary>
 /// Scaling for different screens, sets initial sprite position and sets movement based on screen size etc.
 /// </summary>
 /// <param name="sprite"></param>
 /// <param name="widthFactor"></param>
 /// <param name="ticksToCrossScreen"></param>
 /// <param name="initialX"></param>
 /// <param name="initialY"></param>
 /// <param name="initialVisibility">Set item visibility</param>
 void setupSprite(ref GameSpriteStruct sprite, float widthFactor, float ticksToCrossScreen, float initialX, float initialY, bool initialVisibility)
 {
     sprite.WidthFactor = widthFactor;
     sprite.TicksToCrossScreen = ticksToCrossScreen;
     sprite.SpriteRectangle.Width = (int)((displayWidth * widthFactor) + 0.5f);
     float aspectRatio = (float)sprite.SpriteTexture.Width / sprite.SpriteTexture.Height;
     sprite.SpriteRectangle.Height = (int)((sprite.SpriteRectangle.Width / aspectRatio) + 0.5f);
     sprite.X = initialX;
     sprite.Y = initialY;
     sprite.XSpeed = displayWidth / ticksToCrossScreen;
     sprite.YSpeed = sprite.XSpeed;
     sprite.Visible = initialVisibility;
 }
Esempio n. 3
0
 /// <summary>
 /// Sets up all the aspects of a given sprite struct.
 /// </summary>
 /// <param name="sprite">The sprite to be set up. Passed by reference!</param>
 /// <param name="widthFactor">This is the scale you want for the sprite, relative to the display.</param>
 /// <param name="ticksToCrossScreen">How fast this sprite moves.</param>
 /// <param name="startX">Starting X coordinate.</param>
 /// <param name="startY">Starting Y coordinate.</param>
 /// <param name="visibility">Show the thing or not.</param>
 void setupSprite(ref GameSpriteStruct sprite, float widthFactor, float ticksToCrossScreen, float startX, float startY, bool visibility)
 {
     sprite.WidthFactor = widthFactor;
     sprite.TicksToCrossScreen = ticksToCrossScreen;
     sprite.AspectRatio = (float)sprite.Texture.Width / sprite.Texture.Height;
     sprite.Rectangle.Width = (int)((displayWidth * sprite.WidthFactor) + 0.5f);
     sprite.Rectangle.Height = (int)((sprite.Rectangle.Width / sprite.AspectRatio) + 0.5f);
     sprite.X = startX;
     sprite.Y = startY;
     sprite.XSpeed = displayWidth / sprite.TicksToCrossScreen;
     sprite.YSpeed = sprite.XSpeed;
     sprite.Visible = visibility;
 }