Ejemplo n.º 1
0
        public override void DrawSelf(OneLoneCoder_NachoGame graphics, float ox, float oy)
        {
            if (bCollected)
            {
                return;
            }


            var firstMagicalPlayerParamNew  = new Point((int)((px - ox) * 16.0f), (int)((py - oy) * 16.0f));
            var secondMagicalPlayerParamNew = new Point((int)(0), (int)(0));

            graphics.DrawPartialSprite(firstMagicalPlayerParamNew, item.pSprite, secondMagicalPlayerParamNew, 16, 16);
        }
Ejemplo n.º 2
0
        public override void DrawSelf(OneLoneCoder_NachoGame gfx, float ox, float oy)  // gfx  = graphics //  olcConscoleGameEngineOOP
        {
            // Måste draw rätt sprite som passar state som creature är i, in this point in time

            // Mosvarar vart på spriten som ska ritas.
            int SheetOffsetX = 0; //Uppe till vänster är sheet offset 0. (noll index)
            int SheetOffsetY = 0; // Om y är 1 så är det en rad ner (noll index)

            switch (sprGraphicsState)
            {
            case GraphicsState.Standing:
                SheetOffsetX = (int)FacingDirection * 16;
                break;

            case GraphicsState.Walking:
                SheetOffsetX = (int)FacingDirection * 16;     // så typ den övre raden är åt vilket håll, sen switcha mellan övre raden och undre raden i hans sprite.
                SheetOffsetY = (int)FacingDirection * 16;
                break;

            case GraphicsState.Celebrating:
                SheetOffsetX = 4 * 16;     // för det finns bara 1 sprite för det..
                break;

            case GraphicsState.Dead:
                SheetOffsetX = 4 * 16;     // fyra till höger,
                SheetOffsetY = 1 * 16;     // en ner
                break;
            }


            //Sen är det dags att rita ut spriten

            // dynamiska objektet finns i world space, men måste rita den i scrren space. 1 - 1 translation eftersom alla enheter är en / en enheter.
            //Vi måste bara ta reda på vart kameran titar i world space.
            var firstMagicalPlayerParam = new Point((int)((px - ox) * 16.0f), (int)((py - oy) * 16.0f)); // Vart tilen ska ritas.

            // SheetOffsetX och SheetOffsetY ger top left in en sprite
            var secondMagicalPlayerParam = new Point(SheetOffsetX, SheetOffsetY); // Vilken tile i spritesheeten som ska ritas.

            // 16 är för närvarande en full enhet
            gfx.DrawPartialSprite(firstMagicalPlayerParam, Sprite, secondMagicalPlayerParam, 16, 16);
        } //gfx. // Vet i fasiken vad det är han menar. ska den ha en instance av OneLoneCoder_NachoGame ?