Madaraa
Messages postés22Date d'inscriptionmardi 11 août 2009StatutMembreDernière intervention 7 février 2013
-
21 août 2009 à 17:55
MasterShadows
Messages postés268Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention19 avril 2012
-
24 août 2009 à 22:51
Bien le bonjour, je commence à bien m'intéresser à Xna pour mon TPI et comme il faut bien commencer par quelque part je voudrais vous posez quelques question.
1. connaissez vous un tutoriel complet et bien expliquer pour bien commencer ?
2. Savez vous comment insérer un bouton comme par exemple un bouton Play ?
merci d'avoir lu ce message et j'espère avoir des réponse
A voir également:
Le nom de type ou d'espace de noms est introuvable
Pour le bouton Play, tu verras que dans XNA, tout ce qui est graphique se passe par des textures, des modèles 3D, etc...
Donc voici une piste pour le bouton (et attention c'est faisable en lisant les tutos du dessus) :
- Lire un tuto sur l'affichage d'une texture à l'ecran.
- Lire un tuto sur la gestion de périphériques (souris etc...); pour cela tu peux lire mon article (attention en anglais)ici
Madaraa
Messages postés22Date d'inscriptionmardi 11 août 2009StatutMembreDernière intervention 7 février 2013 22 août 2009 à 10:24
Salut MasterShadows j'ai déjà commencer certain tuto mais il n'explique pas ce qu'es un bouton, est-ce que c'est du texte simple avec quelque chose à rajouter ? ou c'est quelque chose de totalement différent ?
MasterShadows
Messages postés268Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention19 avril 201212 22 août 2009 à 11:35
Salut, il n'existe pas pour l'heure de GUI en XNA. On est donc obligé d'en créer un par nous même dans ton cas, le problème est quelque peu simple :
il s'agit ni plus ni moins que de créer un bouton. De manière toute simple qu'est-ce qu'un bouton ?
Il s'agit d'un texte ou d'une texture qui doit réagir à certaines contraintes (comme par exemple un clic souris). En considérant que tu as lu mon article sur les périphériques et que tu veux utiliser un texte pour simuler ton bouton, en insérant tout comme il faut là où il faut, on peut écrire ceci :
public delegate void ClickEventHandler(TestButton btn);
sealed public class TestButton
{
private SpriteFont text;
private Vector2 position;
private readonly Color nonSelectedColor = Color.White;
private readonly Color hoveredColor = Color.Yellow;
public event ClickEventHandler ClickEvent;
private ContentManager content;
private SpriteBatch spriteBatch;
private bool hovered;
private string textToDraw;
private Vector2 textSize;
public Vector Position
{
get { return position; }
set { position = value; }
}
Madaraa
Messages postés22Date d'inscriptionmardi 11 août 2009StatutMembreDernière intervention 7 février 2013 23 août 2009 à 11:45
Salut alors en ce qui concerne ton code j'ai quelque soucis:
Erreur 1 Le type ou le nom d'espace de noms 'Vector' est introuvable et je ne comprend pas ce que tu entend pas constructeur
j'étudie sa mtn à l'école mais je ne comprend pas bien pourrais-tu éclaircir ce point svp.
Vous n’avez pas trouvé la réponse que vous recherchez ?
MasterShadows
Messages postés268Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention19 avril 201212 23 août 2009 à 14:50
Salut,
oups je me suis planté, tu ne dois pas lire
public Vector Position
mais
public Vector2 Position
Ensuite un constructeur permet d'instantier (créer) un objet. Le constructeur doit porter le nom de la classe. Donc si ta classe se nomme Game1, alors ton constructeur est : public Game1
Madaraa
Messages postés22Date d'inscriptionmardi 11 août 2009StatutMembreDernière intervention 7 février 2013 23 août 2009 à 19:37
Salut alors, j'ai encore un problème Erreur 1 Le type ou le nom d'espace de noms 'Xinput' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?) il est bien mis ici Components.Add(new Xinput(this)); je ne comprend pas
MasterShadows
Messages postés268Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention19 avril 201212 23 août 2009 à 20:31
Salut,
donc de ce que je vois tu ne connais pas bien le C#, tout en C# est englobé dans des namespaces, dans l'article j'ai défini le namespace à NeptuneEngine.Input
Donc pour avoir accès à XInput, tu dois écrire là où tu as tous les directives using, tu écris :
using NeptuneEngine.Input
et là tu auras accès à XInput (et XInput et pas Xinput)
Madaraa
Messages postés22Date d'inscriptionmardi 11 août 2009StatutMembreDernière intervention 7 février 2013 24 août 2009 à 18:04
Salut, oui effectivement je ne connais pas très bien le c# mais je fais ceci pour progresser, j'ai fais ce que tu m'as dis mais sa ne fonctionne toujours pas à +.
MasterShadows
Messages postés268Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention19 avril 201212 24 août 2009 à 22:23
Salut,
bon alors c'est rapide, tu télécharges le sample fournit avec l'article, tu copies les fichiers suivants :
XInput.cs, enum.cs, structure.cs et Extensions.cs et tu les colles dans ton projet, ensuite tu recherches le namespace nommé XInputTest par le nom de ton projet, et ensuite tu pourras retirer using NeptuneEngine.Input
(erreur de ma part lors de la création de l'article)