Exemplo n.º 1
0
        public Animator Create(ContentManager Content, int X, int Y, Func <InputManager, bool> Condition)
        {
            var botao           = SpriteSheet_Carolina.Load_Botao_redondo(Content, 15, 15);
            var botao_apertando = SpriteSheet_Carolina.Load_Botao_redondo_apertando(Content);

            botao_apertando.SetFrameRate(20);
            var botao_desapertando = SpriteSheet_Carolina.Load_Botao_redondo_apertando(Content).Reverse();

            botao_desapertando.SetFrameRate(20);
            var botao_apertado = SpriteSheet_Carolina.Load_Botao_redondo_apertado(Content, 19, 17);

            return(new Animator(
                       X,
                       Y,
                       new AnimationTransitionRuleWithInput(botao, botao_apertando, () => Condition(inputs)),
                       new AnimationTransitionRule(botao_apertando, botao_apertado),
                       new AnimationTransitionRuleWithInput(botao_apertado, botao_desapertando, () => Condition(inputs) == false),
                       new AnimationTransitionRule(botao_desapertando, botao)
                       ));
        }
Exemplo n.º 2
0
        protected override void LoadContent()
        {
            var commonX = 100;
            var commonY = 100;

            spriteBatch = new SpriteBatch(GraphicsDevice);

            var Olhos_abertos  = SpriteSheet_Carolina.Load_Olhos_abertos(Content, commonX + 63, commonY + 88);
            var Olhos_fechando = SpriteSheet_Carolina.Load_Olhos_fechando(Content, commonX + 62, commonY + 88);
            var Olhos_abrindo  = Olhos_fechando.Reverse();

            Olhos_abrindo.SetFrameRate(15);
            Olhos_fechando.SetFrameRate(15);

            Olhos = new Animator(
                new TriggeredAnimationTransitionRule(Olhos_abertos, Olhos_fechando, "piscar")
                , new AnimationTransitionRule(Olhos_fechando, Olhos_abrindo)
                , new AnimationTransitionRule(Olhos_abrindo, Olhos_abertos)
                );

            var Boca_padrao           = SpriteSheet_Carolina.Load_Boca(Content, commonX + 12, commonY).AsScaleAnimation();
            var Boca_entristecendo    = SpriteSheet_Carolina.Load_Boca_entristecendo(Content, 8, commonY);
            var Boca_desentristecendo = Boca_entristecendo.Reverse();
            var Boca_triste           = SpriteSheet_Carolina.Load_Boca_triste(Content, commonX + 10, commonY).AsScaleAnimation();

            var ps4_abrindo = SpriteSheet_Carolina.Load_Corpo_ps4_abrindo(Content, commonX - 63, commonY + 178);
            var ps4_aberto  = SpriteSheet_Carolina.Load_Corpo_ps4_aberto(Content, commonX - 63, commonY + 178);

            Transformacao = new Animator(
                new AnimationTransitionRule(ps4_abrindo, ps4_aberto)
                );

            Boca = new Animator(
                40, 138
                , new FlaggedAnimationTransitionRule(Boca_padrao, Boca_entristecendo, "triste")
                , new AnimationTransitionRule(Boca_entristecendo, Boca_triste)
                , new UnFlaggedAnimationTransitionRule(Boca_triste, Boca_desentristecendo, "triste")
                , new AnimationTransitionRule(Boca_desentristecendo, Boca_padrao)
                );
            inputs = new InputManager();
            var RoundButtonAnimatorFactory = new RoundButtonAnimatorFactory(inputs);

            Botao_Y = RoundButtonAnimatorFactory.Create(Content, commonX + 194, commonY + 175, f => f.Y);
            Botao_A = RoundButtonAnimatorFactory.Create(Content, commonX + 194, commonY + 220, f => f.A);
            Botao_B = RoundButtonAnimatorFactory.Create(Content, commonX + 224, commonY + 197, f => f.B);
            Botao_X = RoundButtonAnimatorFactory.Create(Content, commonX + 164, commonY + 197, f => f.X);

            Botao_Up    = RoundButtonAnimatorFactory.Create(Content, commonX - 54 + 42, commonY + 175 + 10, f => f.Dpad_Up);
            Botao_Down  = RoundButtonAnimatorFactory.Create(Content, commonX - 54 + 42, commonY + 220 + 10, f => f.Dpad_Down);
            Botao_Left  = RoundButtonAnimatorFactory.Create(Content, commonX - 84 + 42, commonY + 197 + 10, f => f.Dpad_Left);
            Botao_Right = RoundButtonAnimatorFactory.Create(Content, commonX - 24 + 42, commonY + 197 + 10, f => f.Dpad_Right);

            Analog_L = RoundButtonAnimatorFactory.Create(Content, commonX + 50, commonY + 220, f => f.LS);
            Analog_R = RoundButtonAnimatorFactory.Create(Content, commonX + 110, commonY + 220, f => f.RS);

            Botao_R2 = RoundButtonAnimatorFactory.Create(Content, commonX + 260, commonY + 165, f => f.RT);
            Botao_R1 = RoundButtonAnimatorFactory.Create(Content, commonX + 261, commonY + 195, f => f.RB);

            Botao_L2 = RoundButtonAnimatorFactory.Create(Content, commonX + -78, commonY + 182, f => f.LT);
            Botao_L1 = RoundButtonAnimatorFactory.Create(Content, commonX + -77, commonY + 212, f => f.LB);

            Corpo = SpriteSheet_Carolina.Load_Corpo(Content, commonX + 50, commonY + 50);
        }