public override void Initialize(GnomicGame game) { Hud = ParentGame.GetScreen <HudScreen>(); int floorHeight = 60; Physics = new Gnomic.Physics.PhysicsSystem(this); Physics.CreateBorder(ParentGame.ScreenWidth * PLAY_AREA_WIDTH_IN_SCREENS, ParentGame.ScreenHeight, // * PLAY_AREA_HEIGHT_IN_SCREENS, new Vector2(0.0f, -floorHeight), /*friction*/ 0.005f); // Create a 2D camera base.Camera2D = camera = new Camera2D(ParentGame.GraphicsDevice.Viewport); CreateBackground(); Vector2 vehiclePos = new Vector2(ParentGame.ScreenWidth / 5, ParentGame.ScreenHeight - floorHeight); Vector2 vehicleSizePhysicsCoords = new Vector2(2.7f, 4.5f); Vector2 vehicleOffsetPhysicsCoords = new Vector2(0.0f, -vehicleSizePhysicsCoords.Y / 2.0f); Vector2 princessPos = vehiclePos - ConvertUnits.ToDisplayUnits(new Vector2(0.0f, vehicleSizePhysicsCoords.Y)); lilMissBadAss = Princess.CreatePrincess(princessPos, new Vector2(0.6f, 1.2f), new Vector2(0.0f, -0.6f)); base.AddEntity(lilMissBadAss); // sets ParentScreen Vehicle = PrincessVehicle.CreateDefaultEntity(vehiclePos, vehicleSizePhysicsCoords, vehicleOffsetPhysicsCoords); base.AddEntity(Vehicle); units = new UnitManager(this); //float startX = 0.7f; //for (int i = 0; i < 20; ++i) //{ // AddUnit(UnitType.Grunt, new Vector2(startX+(i*0.05f), 0.7f)); //} //startX = 0.4f; //for (int i = 0; i < 5; ++i) //{ // AddUnit(UnitType.Knight, new Vector2(startX + (i * 0.05f), 0.7f)); //} projectiles = new ProjectileManager(this); this.Audio = this.ParentGame.Audio; base.Initialize(game); standingJoint = new RevoluteJoint(lilMissBadAss.Physics.Bodies[0], Vehicle.Physics.Bodies[0], Vector2.Zero, new Vector2(0.0f, -vehicleSizePhysicsCoords.Y)); Physics.World.AddJoint(standingJoint); }
public override void Initialize(GnomicGame game) { Hud = ParentGame.GetScreen<HudScreen>(); int floorHeight = 60; Physics = new Gnomic.Physics.PhysicsSystem(this); Physics.CreateBorder(ParentGame.ScreenWidth * PLAY_AREA_WIDTH_IN_SCREENS, ParentGame.ScreenHeight, // * PLAY_AREA_HEIGHT_IN_SCREENS, new Vector2(0.0f, -floorHeight), /*friction*/ 0.005f); // Create a 2D camera base.Camera2D = camera = new Camera2D(ParentGame.GraphicsDevice.Viewport); CreateBackground(); Vector2 vehiclePos = new Vector2(ParentGame.ScreenWidth / 5, ParentGame.ScreenHeight - floorHeight); Vector2 vehicleSizePhysicsCoords = new Vector2(2.7f, 4.5f); Vector2 vehicleOffsetPhysicsCoords = new Vector2(0.0f, -vehicleSizePhysicsCoords.Y / 2.0f); Vector2 princessPos = vehiclePos - ConvertUnits.ToDisplayUnits(new Vector2(0.0f, vehicleSizePhysicsCoords.Y)); lilMissBadAss = Princess.CreatePrincess(princessPos, new Vector2(0.6f, 1.2f), new Vector2(0.0f, -0.6f)); base.AddEntity(lilMissBadAss); // sets ParentScreen Vehicle = PrincessVehicle.CreateDefaultEntity(vehiclePos, vehicleSizePhysicsCoords, vehicleOffsetPhysicsCoords); base.AddEntity(Vehicle); units = new UnitManager(this); //float startX = 0.7f; //for (int i = 0; i < 20; ++i) //{ // AddUnit(UnitType.Grunt, new Vector2(startX+(i*0.05f), 0.7f)); //} //startX = 0.4f; //for (int i = 0; i < 5; ++i) //{ // AddUnit(UnitType.Knight, new Vector2(startX + (i * 0.05f), 0.7f)); //} projectiles = new ProjectileManager(this); this.Audio = this.ParentGame.Audio; base.Initialize(game); standingJoint = new RevoluteJoint(lilMissBadAss.Physics.Bodies[0], Vehicle.Physics.Bodies[0], Vector2.Zero, new Vector2(0.0f, -vehicleSizePhysicsCoords.Y)); Physics.World.AddJoint(standingJoint); }
public PhysicsSystem(GameScreen screen) { this.screen = screen; GnomicGame game = screen.ParentGame; // Todo: pass in a PhysicsSystemSetting with gravity, worldMin and worldMax world = new World( new Vector2(0.0f, 20.0f), new FarseerPhysics.Collision.AABB(Vector2.One * -500.0f, Vector2.One * 500.0f)); debugView = new DebugViewXNA(world); debugView.AppendFlags(DebugViewFlags.Shape); debugView.DefaultShapeColor = Color.White; debugView.SleepingShapeColor = Color.LightGray; debugView.LoadContent(game.GraphicsDevice, game.Content, "GameFont"); projection = Matrix.CreateOrthographicOffCenter( 0f, ConvertUnits.ToSimUnits(game.ScreenWidth), ConvertUnits.ToSimUnits(game.ScreenHeight), 0f, 0f, 1f); }
public override void Initialize(GnomicGame game) { levelScreen = ParentGame.GetScreen <LevelScreen>(); Vector2 imageSize = new Vector2(64.0f / 720.0f); Vector2 topRight = new Vector2(ParentGame.ScreenWidth, -ParentGame.ScreenHeight) * (0.5f / ParentGame.ScreenHeight) - new Vector2(imageSize.X, -imageSize.Y); IconMoveRight = base.AddSprite("IconMove", imageSize, topRight, new Vector2(0.5f), true); IconMoveLeft = base.AddSprite("IconMove", imageSize, topRight - new Vector2(imageSize.X, 0.0f), new Vector2(0.5f), true); IconMoveLeft.Settings.SpriteEffects = SpriteEffects.FlipHorizontally; ClipEntitySettings settings; settings = new ClipEntitySettings(); settings.ClipFile = "heart"; settings.Scale = Vector2.One; settings.DefaultAnimName = "heartBG"; settings.Position = new Vector2(90, 90); HeartBG = (ClipEntity)settings.CreateEntity(); base.AddEntity(HeartBG); settings = new ClipEntitySettings(); settings.ClipFile = "heart"; settings.Scale = Vector2.One * 0.5f; settings.DefaultAnimName = "beatA"; settings.Position = new Vector2(90, 90); Heart = (ClipEntity)settings.CreateEntity(); base.AddEntity(Heart); font = Content.Load <SpriteFont>("UIFont"); base.Initialize(game); IconMoveRight.Visible = false; IconMoveLeft.Visible = false; }
public override void Initialize(GnomicGame game) { levelScreen = ParentGame.GetScreen<LevelScreen>(); Vector2 imageSize = new Vector2(64.0f / 720.0f); Vector2 topRight = new Vector2(ParentGame.ScreenWidth, -ParentGame.ScreenHeight) * (0.5f / ParentGame.ScreenHeight) - new Vector2(imageSize.X, -imageSize.Y); IconMoveRight = base.AddSprite("IconMove", imageSize, topRight, new Vector2(0.5f), true); IconMoveLeft = base.AddSprite("IconMove", imageSize, topRight - new Vector2(imageSize.X, 0.0f), new Vector2(0.5f), true); IconMoveLeft.Settings.SpriteEffects = SpriteEffects.FlipHorizontally; ClipEntitySettings settings; settings = new ClipEntitySettings(); settings.ClipFile = "heart"; settings.Scale = Vector2.One; settings.DefaultAnimName = "heartBG"; settings.Position = new Vector2(90, 90); HeartBG = (ClipEntity)settings.CreateEntity(); base.AddEntity(HeartBG); settings = new ClipEntitySettings(); settings.ClipFile = "heart"; settings.Scale = Vector2.One * 0.5f; settings.DefaultAnimName = "beatA"; settings.Position = new Vector2(90, 90); Heart = (ClipEntity)settings.CreateEntity(); base.AddEntity(Heart); font = Content.Load<SpriteFont>("UIFont"); base.Initialize(game); IconMoveRight.Visible = false; IconMoveLeft.Visible = false; }