pop70
Messages postés181Date d'inscriptionmardi 6 avril 2010StatutMembreDernière intervention 7 janvier 2012
-
28 déc. 2010 à 19:47
pop70
Messages postés181Date d'inscriptionmardi 6 avril 2010StatutMembreDernière intervention 7 janvier 2012
-
29 déc. 2010 à 18:31
Bonjour, je débute tout juste en C#, que j'apprends d'après un livre qui explique comment l'utiliser avec le framework XNA. (Il n'est normalement pas nécessaire de connaitre le C# avant de lire le bouquin...)
Dans un chapitre il est dit de créer un service pour la gestion du clavier.
Seulement j'ai une erreur :
Erreur 1 'Projet_1.KeyboardService' n'implémente pas le membre d'interface 'Projet_1.IKeyboardService.IsKeyDown(Microsoft.Xna.Framework.Input.Keys)'. 'Projet_1.KeyboardService.IsKeyDown(Microsoft.Xna.Framework.Input.Keys)' ne peut pas implémenter un membre d'interface, car il n'est pas public.
Voici la source :
L'interface qui contient le service :
[code=cs]using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
namespace Projet_1
{
interface IKeyboardService
{
bool IsKeyDown(Keys key);
}
}
Et la classe qui l'utilise :
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
namespace Projet_1
{
class KeyboardService : GameComponent, IKeyboardService
{
KeyboardState KBState;
public KeyboardService(Game game)
: base(game) // C'est ici qu'il indique l'erreur
{
ServiceHelper.Add(this);
}
bool IsKeyDown(Keys key)
{
return KBState.IsKeyDown(key);
}
public override void Update(GameTime gameTime)
{
KBState = Keyboard.GetState();
base.Update(gameTime);
}
}
}
J'ai donc essayé de mettre "public" devant bool IsKeyDown de l'interface, mais ça ne marche pas non plus.