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;
                }
            }
        }
Beispiel #2
0
        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");
        }
Beispiel #3
0
        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);
            }
        }