public void PosicionarNoSolo(SoloBase solo) { //ajuste para posicionar corretamente no buraco var posicaoX = (int)this.Posicao.X + 20; var posicaoY = (int)this.Posicao.Y - 20; // partir daqui a verificação for (int i = 200; i < solo.TexturaSolo.Height; i++) { if (solo.ArrayCores[posicaoX, i].A != 0) { posicaoDoNinjaNoSolo = i; break; } } }
public void InicializarObjetos() { _ninjaHub.Connect(); _ninjaHub.OnPlayer1MovimentaDireita += NinjaHub_OnPlayer1MovimentaDireita; _ninjaHub.OnPlayer1MovimentaEsquerda += NinjaHub_OnPlayer1MovimentaEsquerda; _ninjaHub.OnPlayer2MovimentaDireita += NinjaHub_OnPlayer2MovimentaDireita; _ninjaHub.OnPlayer2MovimentaEsquerda += NinjaHub_OnPlayer2MovimentaEsquerda; // tela de escolher os personagens Ninja1 = new NinjaVerde(this, _priteBatch, _ninjaHub); Ninja1.InicializarPlayer1(); Ninja1.Initialize(); Ninja2 = new NinjaRoxo(this, _priteBatch, _ninjaHub); Ninja2.InicializarPlayer2(); Ninja2.Initialize(); Ninja2.VirarEsquerda(); //inicialização dos Decks Deck1 = new Deck1(this, _priteBatch); Deck1.Initialize(); Deck2 = new Deck2(this, _priteBatch); Deck2.Initialize(); Deck3 = new Deck3(this, _priteBatch); Deck3.Initialize(); Deck4 = new Deck4(this, _priteBatch); Deck4.Initialize(); // inicialização dos marcadores hPPlayer1 = new HPPlayer1(this, _priteBatch, Ninja1); hPPlayer1.Initialize(); hPPlayer2 = new HPPlayer2(this, _priteBatch, Ninja2); hPPlayer2.Initialize(); forcaPlayer1 = new ForcaPlayer1(this, _priteBatch); forcaPlayer1.Initialize(); forcaPlayer2 = new ForcaPlayer2(this, _priteBatch); forcaPlayer2.Initialize(); solo = new SoloBase(this, _priteBatch); solo.Initialize(); ceu = Content.Load <Texture2D>("ceu"); }
public bool ColideCom(SoloBase solo) { try { int widthOther = solo.TexturaSolo.Width; int heightOther = solo.TexturaSolo.Height; int widthMe = this.SpritePadrao.Width; int heightMe = this.SpritePadrao.Height; if (((Math.Min(widthOther, heightOther) > 100) || (Math.Min(widthMe, heightMe) > 100))) { return(Area.Intersects(solo.Area) && SpriteHelper.PerPixelCollision(this.SpritePadrao, this.Area, solo.TexturaSolo, solo.Area)); } else { return(false); } } catch (IndexOutOfRangeException) { return(false); } }