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) )); }
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); }