protected override void LoadContent() { gameIsStarted = false; spriteBatch = new SpriteBatch(GraphicsDevice); Library.LoadContent(Content); random = new Random(); cursor = new Cursor(); level = new Level(); levelEditor = new LevelEditor(); saver = new SaveFileManager(); saver.LoadLevel("level1"); camera = new Camera(new Vector2(GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height)); HUDCamera = new Camera(new Vector2(GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height)); camera.CenterOn(level.startPos); HUDCamera.CenterOn(level.startPos); camera.Update(); HUDCamera.Update(); menu = new Menu(); currentState = GameState.MainMenu; parallaxClouds = new ParallaxBackground(Vector2.Zero, Library.textures["Clouds"], 0.5f); parallaxMoon = new ParallaxBackground(new Vector2(700, 20), Library.textures["Moon"], 0.4f); //graphics.PreferredBackBufferHeight = (int)(graphics.PreferredBackBufferWidth / GraphicsDevice.DisplayMode.AspectRatio); if(GraphicsDevice.DisplayMode.AspectRatio == (8/6)) graphics.IsFullScreen = true; graphics.ApplyChanges(); song = Library.sounds["BaineSong"]; songLoop = song.CreateInstance(); songLoop.IsLooped = true; songLoop.Play(); }
public void Update(Cursor cursor) { Vector2 mousePos = Input.Mouse_Position(); if (openMenu()) { position = mousePos; for (int i = 0; i < itemCount; i++) { displayedItems.Add(allItems[i]); displayedItems[i].Open(); } IsOpen = true; Use(); } if (IsOpen) { Vector2 input = Input.GP_LeftThumbstick(PlayerIndex.One); if (input != Vector2.Zero) { input.Y *= -1; float rotation = (float)Math.Atan2(input.Y, input.X); Vector2 direction = new Vector2((float)Math.Cos(rotation) * 32, (float)Math.Sin(rotation) * 32); PhysicsHelper.MoveTowards(ref mousePos, position + direction, 5); Mouse.SetPosition((int)mousePos.X, (int)mousePos.Y); cursor.Face(input); } diff = mousePos - position; angle = (float)Math.Atan2(diff.Y, diff.X); float percentualPosition = (MathHelper.WrapAngle(angle - MathHelper.PiOver2) + MathHelper.Pi) / MathHelper.TwoPi; if (diff.Length() > nullRadius) index = Convert.ToInt32(displayedItems.Count * percentualPosition) >= itemCount ? 0 : Convert.ToInt32(displayedItems.Count * percentualPosition); } for (int i = 0; i < displayedItems.Count; i++) { displayedItems[i].Update(index); if (displayedItems[i].IsClosed()) displayedItems.RemoveAt(i); } if (displayedItems.Count > 0) { scale = displayedItems[displayedItems.Count / 2].scale; fade = Color.Multiply(Color.White, displayedItems[displayedItems.Count / 2].scale); } if (closeMenu()) { for (int i = 0; i < displayedItems.Count; i++) { displayedItems[i].Close(); } IsOpen = false; } }