示例#1
0
        public void Draw(SpriteBatch batch)
        {
            batch.GraphicsDevice.SetRenderTarget(renderTarget);

            batch.Begin(SpriteSortMode.Deferred, null, null, null, null, null, camera.GetTransform());

            background.Draw(batch, camera);

            batch.End();


            batch.GraphicsDevice.SetRenderTarget(null);

            batch.Begin(SpriteSortMode.Deferred, null, null, null, null, effect, null);

            batch.Draw(renderTarget, Vector2.Zero, Color.White);

            batch.End();

            batch.Begin(SpriteSortMode.Deferred, null, null, null, null, null, camera.GetTransform());
            map.Draw(batch);
            BulletsEverywhere.Draw(batch);
            enemyHandler.Draw(batch);
            character.Draw(batch);
            batch.End();
        }
示例#2
0
        public void LoadContent(ContentManager contentManager)
        {
            background = new Background(contentManager, new string[] { "WaterBackgroundTexture", "FishBackgroundTexture", "PanzerBackgroundTexture" }, new Vector2[] { Vector2.Zero, Vector2.Zero, new Vector2(800, 800) });
            map.Load(contentManager, "TestMap2");
            Player player = new Player();

            player.Load(contentManager, "");
            //KritzlerEnemy kritzler = new KritzlerEnemy();
            player.Position = new Vector2(1, 18) * Tile.DefaultSize; //new Vector2(700, 550);
            //kritzler.Position = new Vector2(4, 15) * Tile.DefaultSize;
            character = player;
            BulletsEverywhere.Load(contentManager);

            enemyHandler            = new EnemyHandler(contentManager, Level.FirstLevel, player);
            effect                  = contentManager.Load <Effect>("Effects/Wobble");
            effect.CurrentTechnique = effect.Techniques[0];
        }
示例#3
0
        public EGameState Update(GameTime time)
        {
            if (!character.sprite.Intersects(mapRectangle))
            {
                return(EGameState.Lost);
            }

            character.Update(time);

            enemyHandler.Update(time);

            if (!enemyHandler.BossIsStillAlive)
            {
                return(EGameState.Won);
            }

            List <Character> c = enemyHandler.List;

            c.Add(character);

            BulletsEverywhere.Update(time, map, c);

            character.Collide(map);

            enemyHandler.Collide(map);

            camera.Position = character.collision.Center.ToVector2();
            camera.SetVisibilityContainedIn(mapRectangle);

            effect.Parameters["Time"].SetValue((float)time.TotalGameTime.TotalSeconds);
            if (character.dead)
            {
                return(EGameState.Lost);
            }

            return(EGameState.InGame);
        }