public void ConnexionNvxJoueur(string oidj, string skin, string coordX, string coordY) { Console.WriteLine("Joueur " + oidj + " connecté"); var p = new Personnage(Convert.ToInt32(coordX), Convert.ToInt32(coordY),this); this.ChargeTexturePerso(p); //TODO : debug : null reference exception ?? var compte = this._persoAutres.Count; for (int i = 0; i < 5; i++) { try { this._persoAutres.Add(oidj, p); this.Components.Add(p); break; } catch (NullReferenceException) { } } if (this._persoAutres.Count == compte) throw new NullReferenceException("Erreur lors de l'ajout dans _persoAutre"); }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. _spriteBatch = new SpriteBatch(GraphicsDevice); var te = this.Content.Load<Texture2D>("caseverte"); var tevide = this.Content.Load<Texture2D>("casevide"); var teTelep = this.Content.Load<Texture2D>("casetelep"); this._personnage = new Personnage(10, 10, this); #region creation sprite perso this.ChargeTexturePerso(this._personnage); #endregion this.Components.Add(this._personnage); this._listeTextureCarte.Add("1", te); this._listeTextureCarte.Add("0", tevide); this._listeTextureCarte.Add("2", teTelep); AfficherCarte(new ObjetChargementCarte(this, "cartevide")); var t = MessageFactory.GetInstanceOf(TypeMessage.DemandeCarte); const string cartedem = "carte2"; //var r = new RandomManager(); //cartedem = r.GetInt(2) == 0 ? "carte2" : "carte3"; t.PreparerMessage(new object[] { cartedem }); this._emmeteur.envoyer(t); }
/// <summary> /// Initialize les textures d'un perso /// </summary> /// <param name="p"></param> private void ChargeTexturePerso(Personnage p) { var spritehaut = new AnimatedSprite(); var spritebas = new AnimatedSprite(); var spritegauche = new AnimatedSprite(); var spritedroite = new AnimatedSprite(); for (var i = 0; i < 3; i++) { spritehaut.AjoutAnimationFrame(this.Content.Load<Texture2D>("AnimationMarche/haut" + i), 10); spritebas.AjoutAnimationFrame(this.Content.Load<Texture2D>("AnimationMarche/bas" + i), 10); spritegauche.AjoutAnimationFrame(this.Content.Load<Texture2D>("AnimationMarche/gauche" + i), 10); spritedroite.AjoutAnimationFrame(this.Content.Load<Texture2D>("AnimationMarche/droite" + i), 10); } p.SetSprites(spritehaut, spritebas, spritegauche, spritedroite); }
public void DeplacementPerso(Vecteur v, Personnage personnage) { Console.WriteLine("Deplacement " + v); Console.WriteLine("Direction avant : " + personnage.Direction); //todo : optimiser switch (v.vx) { case -1: personnage.Direction = 3; break; case 1: personnage.Direction = 1; break; default: switch (v.vy) { case -1: personnage.Direction = 0; break; case 1: personnage.Direction = 2; break; } break; } Console.WriteLine("Direction apres : " + personnage.Direction); }