none
WPF dans du XNA : Transparence RRS feed

  • Question

  • Bonjour, 

    Actuellement je travaille sur la création d'un jeu en XNA pour Windows.  Je cherche un moyen d'y intégrer des éléments d'interface graphique. 

    J'aimerai ne pas avoir à recréer la plupart des composants à la main puisque je n'ai pas que quelques mois pour réaliser le jeu. 

    Pour cela j'ai pensé à utiliser WPF et donc des fichiers XAML.

    J'ai réussi à insérer un user control dans ma fenêtre en l'ajoutant à un ElementHost que je lie ensuite à la fenêtre. Cependant, j'ai des soucis de transparence entre l'ElementHost et ce qui est affiché via XNA. 

    Voici comment je m'y prends : 

     

      public class Game1 : Microsoft.Xna.Framework.Game
      {
        GraphicsDeviceManager graphics;
        SpriteBatch spriteBatch;
    
        System.Windows.Forms.Integration.ElementHost elementHost1;
    
        
        public Game1()
        {
          graphics = new GraphicsDeviceManager(this);
          Content.RootDirectory = "Content";
    
          IsMouseVisible = true;
        }
    
        protected override void Initialize()
        {
          base.Initialize();
    
          //Création de l'ElementHost qui accueillera par la suite les UserControl
          elementHost1 = new System.Windows.Forms.Integration.ElementHost();
          elementHost1.Location = new System.Drawing.Point(50,50);
          elementHost1.Size = new System.Drawing.Size(100, 100);
          elementHost1.BackColorTransparent = true;
    
          //On rajoute cet ElementHost à la fenêtre
          Control.FromHandle(Window.Handle).Controls.Add(elementHost1);
          
        }
    
    [...]
    
    }
    

     

    Est-ce que je m'y prend de la mauvaise manière ? 

    vendredi 8 avril 2011 19:25

Toutes les réponses

  • Bonjours

    Si le code marche donc il vous reste de tester les performances et l'impact des conditions extremes sur le comportement de l'execution


    The complexity resides in the simplicity Follow me at: http://smartssolutions.blogspot.com
    mercredi 15 juin 2011 17:51