示例#1
0
        // public static async ValueTask DrawSprite(this ISprite sprite, ElementReference spriteSheet)
        // {
        //     if (sprite.Visible)
        //     {
        //         spr
        //         await DrawImage(
        //             spriteSheet,
        //             (sprite.Position - sprite.Origin).ToPoint(),
        //             new Rectangle(sprite.SpriteSheetPos.ToPoint(), sprite.Size));
        //     }
        // }

        public static async ValueTask DrawSprite(this CanvasWrapper session,
                                                 ISprite sprite,
                                                 ElementReference spriteSheet)
        {
            if (sprite.Visible)
            {
                await session.DrawImage(
                    spriteSheet,
                    (sprite.Position - sprite.Origin).toPoint(),
                    new Rectangle(sprite.SpriteSheetPos.toPoint(), sprite.Size));
            }
        }
示例#2
0
        async ValueTask drawPlayerLives(CanvasWrapper ds)
        {
            int x = 0;

            for (var i = 0; i < _gameStats.CurrentPlayerStats.LivesRemaining; i++, x += 16)
            {
                await ds.DrawImage(Spritesheet.Reference,
                                   new Rectangle(x, 0, 16, 16),
                                   new Rectangle(
                                       (int)PacMan.FacingLeftSpritesheetPos.X,
                                       (int)PacMan.FacingLeftSpritesheetPos.Y,
                                       16,
                                       16));
            }
        }