コード例 #1
0
        private IAnimation CreateWaterAnimation(Texture2D texture)
        {
            var animation = new SingleTextureAnimation(texture)
                            .AddFrame(new Rectangle(0, 0, 128, 128), 0.2f)
                            .AddFrame(new Rectangle(128, 0, 128, 128), 0.2f)
                            .AddFrame(new Rectangle(256, 0, 128, 128), 0.2f)
                            .AddFrame(new Rectangle(384, 0, 128, 128), 0.2f);

            animation.IsLooping = true;

            return(animation);
        }
コード例 #2
0
        public EntityAnimations(ContentManager content)
        {
            Texture2D playerTexture = content.Load <Texture2D>("Textures/Player");

            PlayerIdleRight = new SingleTextureAnimation(playerTexture)
            {
                Origin    = new Vector2(32f, 32f),
                IsLooping = true
            }
            .AddFrame(new Rectangle(0, 0, 64, 64), 0.15f)
            .AddFrame(new Rectangle(64, 0, 64, 64), 0.15f)
            .AddFrame(new Rectangle(128, 0, 64, 64), 0.15f)
            .AddFrame(new Rectangle(192, 0, 64, 64), 0.05f);

            PlayerIdleLeft = new SingleTextureAnimation(playerTexture)
            {
                Origin    = new Vector2(32f, 32f),
                IsLooping = true,
                Effects   = SpriteEffects.FlipHorizontally
            }
            .AddFrame(new Rectangle(0, 0, 64, 64), 0.15f)
            .AddFrame(new Rectangle(64, 0, 64, 64), 0.15f)
            .AddFrame(new Rectangle(128, 0, 64, 64), 0.15f)
            .AddFrame(new Rectangle(192, 0, 64, 64), 0.05f);

            PlayerRunRight = new SingleTextureAnimation(playerTexture)
            {
                Origin    = new Vector2(32f, 32f),
                IsLooping = true
            }
            .AddFrame(new Rectangle(0, 64, 64, 64), 0.05f)
            .AddFrame(new Rectangle(64, 64, 64, 64), 0.05f)
            .AddFrame(new Rectangle(128, 64, 64, 64), 0.1f)
            .AddFrame(new Rectangle(192, 64, 64, 64), 0.1f)
            .AddFrame(new Rectangle(256, 64, 64, 64), 0.05f)
            .AddFrame(new Rectangle(320, 64, 64, 64), 0.05f)
            .AddFrame(new Rectangle(384, 64, 64, 64), 0.1f)
            .AddFrame(new Rectangle(448, 64, 64, 64), 0.1f);

            PlayerRunLeft = new SingleTextureAnimation(playerTexture)
            {
                Origin    = new Vector2(32f, 32f),
                IsLooping = true,
                Effects   = SpriteEffects.FlipHorizontally
            }
            .AddFrame(new Rectangle(0, 64, 64, 64), 0.05f)
            .AddFrame(new Rectangle(64, 64, 64, 64), 0.05f)
            .AddFrame(new Rectangle(128, 64, 64, 64), 0.1f)
            .AddFrame(new Rectangle(192, 64, 64, 64), 0.1f)
            .AddFrame(new Rectangle(256, 64, 64, 64), 0.05f)
            .AddFrame(new Rectangle(320, 64, 64, 64), 0.05f)
            .AddFrame(new Rectangle(384, 64, 64, 64), 0.1f)
            .AddFrame(new Rectangle(448, 64, 64, 64), 0.1f);

            PlayerFallRight = new SingleTextureAnimation(playerTexture)
            {
                Origin    = new Vector2(32f, 32f),
                IsLooping = true
            }
            .AddFrame(new Rectangle(0, 128, 64, 64), 0.1f)
            .AddFrame(new Rectangle(64, 128, 64, 64), 0.1f)
            .AddFrame(new Rectangle(128, 128, 64, 64), 0.1f);

            PlayerFallLeft = new SingleTextureAnimation(playerTexture)
            {
                Origin    = new Vector2(32f, 32f),
                IsLooping = true,
                Effects   = SpriteEffects.FlipHorizontally
            }
            .AddFrame(new Rectangle(0, 128, 64, 64), 0.1f)
            .AddFrame(new Rectangle(64, 128, 64, 64), 0.1f)
            .AddFrame(new Rectangle(128, 128, 64, 64), 0.1f);

            PlayerKickRight = new SingleTextureAnimation(playerTexture)
            {
                Origin = new Vector2(32f, 32f),
            }
            .AddFrame(new Rectangle(0, 192, 64, 64), 0.1f)
            .AddFrame(new Rectangle(64, 192, 64, 64), 0.1f)
            .AddFrame(new Rectangle(128, 192, 64, 64), 0.05f)
            .AddFrame(new Rectangle(192, 192, 64, 64), 0.05f);

            PlayerKickLeft = new SingleTextureAnimation(playerTexture)
            {
                Origin  = new Vector2(32f, 32f),
                Effects = SpriteEffects.FlipHorizontally
            }
            .AddFrame(new Rectangle(0, 192, 64, 64), 0.1f)
            .AddFrame(new Rectangle(64, 192, 64, 64), 0.1f)
            .AddFrame(new Rectangle(128, 192, 64, 64), 0.05f)
            .AddFrame(new Rectangle(192, 192, 64, 64), 0.05f);

            PlayerDefeatedRight = new SingleTextureAnimation(playerTexture)
            {
                Origin    = new Vector2(32f, 32f),
                IsLooping = true
            }
            .AddFrame(new Rectangle(0, 256, 64, 64), 0.1f);

            PlayerDefeatedLeft = new SingleTextureAnimation(playerTexture)
            {
                Origin    = new Vector2(32f, 32f),
                IsLooping = true,
                Effects   = SpriteEffects.FlipHorizontally
            }
            .AddFrame(new Rectangle(0, 256, 64, 64), 0.1f);

            PlayerSleeping = new SingleTextureAnimation(playerTexture)
            {
                Origin    = new Vector2(32f, 32f),
                IsLooping = true
            }
            .AddFrame(new Rectangle(0, 320, 64, 64), 0.1f);

            Texture2D torchTexture = content.Load <Texture2D>("Textures/Torch");

            Torch = new SingleTextureAnimation(torchTexture)
            {
                Origin    = new Vector2(16f, 16f),
                IsLooping = true
            }
            .AddFrame(new Rectangle(0, 0, 32, 32), 1f);

            TorchOut = new SingleTextureAnimation(torchTexture)
            {
                Origin    = new Vector2(16f, 16f),
                IsLooping = true
            }
            .AddFrame(new Rectangle(32, 0, 32, 32), 1f);

            Fireplace = new SingleTextureAnimation(torchTexture)
            {
                Origin    = new Vector2(16f, 16f),
                IsLooping = true
            }
            .AddFrame(new Rectangle(64, 0, 32, 32), 0.5f)
            .AddFrame(new Rectangle(96, 0, 32, 32), 0.5f);
        }