示例#1
0
        public void Render(EnemyManager enemyManager, Player player, SpriteBatch spriteBatch)
        {
            //Draw background square
              //  spriteBatch.Draw(Game1.square, renderTarget, bg);

            Position playerPos = player.getPosition();
            Vector2 pos = GetScaledPosition(getPlanarPosition(playerPos));

            renderPosition(spriteBatch, pos, Color.Aquamarine, 32);

            foreach (Enemy enemy in enemyManager.getEnemies())
            {

                Position enemyPosition = enemy.GetPosition();
                Vector2 planarPosition = getPlanarPosition(enemyPosition);

                //if we are rendering in 1D, the GetSize takes in to account the distance in the y axis
                float size = 2 * GetSize(enemy);

                if (IsInRenderFrame(planarPosition, size))
                {
                    Vector2 drawPosition = GetScaledPosition(planarPosition);

                    switch (enemy.GetEnemyType())
                    {
                        case EnemyType.StraightLine:
                            {
                                renderPosition(spriteBatch, drawPosition, Color.Red, size);
                                break;
                            }
                        default:
                            {
                                renderPosition(spriteBatch, drawPosition, Color.Black, size);
                                break;
                            }
                    }
                }
            }
        }