Exemplo n.º 1
0
 public Block(Vector2 Position)
 {
     sprite            = Game1.content.Load <Texture2D>("Hero");
     kinetics          = Kinetic.ZERO();
     kinetics.position = Position;
     Kinetic.SetBoundingBoxDimensions(ref kinetics.boundingBox, sprite);
     dead = false;
 }
Exemplo n.º 2
0
        public static Vector2 Persue(Kinetic Location, Kinetic Target, float MaxSpeed)
        {
            float   distance              = Vector2.Distance(Location.position, Target.position);
            float   prediction            = distance / MaxSpeed;
            Vector2 displacement          = Target.velocity * MaxSpeed;
            Vector2 targetNetDisplacement = displacement + Target.position;

            return(Seek(Location.position, targetNetDisplacement));
        }
Exemplo n.º 3
0
 public DamageBox(Vector2 Position, Vector2 Velocity, int Time, bool Friendly)
 {
     sprite            = Game1.content.Load <Texture2D>("Hero");
     kinetics          = Kinetic.ZERO();
     kinetics.position = Position;
     kinetics.velocity = Velocity;
     Kinetic.SetBoundingBoxDimensions(ref kinetics.boundingBox, sprite);
     dead     = false;
     time     = Time;
     friendly = Friendly;
     anim     = new Animation();
 }
        public void Update(Kinetic kinetic)
        {
            float orientation = kinetic.orientations.GetRadOrientation();

            if (orientation <= MathHelper.PiOver4 || orientation > 7 * MathHelper.PiOver4)
            {
                idleFrame = (int)Animations.RIGHT;
                current   = right;
            }

            if (orientation <= 3 * MathHelper.PiOver4 && orientation > MathHelper.PiOver4)
            {
                idleFrame = (int)Animations.UP;
                current   = up;
            }

            if (orientation <= 5 * MathHelper.PiOver4 && orientation > 3 * MathHelper.PiOver4)
            {
                idleFrame = (int)Animations.LEFT;
                current   = left;
            }

            if (orientation <= 7 * MathHelper.PiOver4 && orientation > 5 * MathHelper.PiOver4)
            {
                idleFrame = (int)Animations.DOWN;
                current   = down;
            }

            if (kinetic.velocity.LengthSquared() == 0 && idle != null)
            {
                current = idle;
            }

            current.Update();
            current.SetPosition(kinetic.position);
        }
Exemplo n.º 5
0
        public Shadow()
        {
            sprite   = Game1.content.Load <Texture2D>("Hero");
            kinetics = new Kinetic(new Vector2(400, 400), new Vector2(0, 0), new Rectangle());
            Kinetic.SetBoundingBoxDimensions(ref kinetics.boundingBox, sprite);
            kinetics.maxSpeed = 5;
            levelBounds       = new Rectangle(124, 178, 800, 550);

            Animation Up = new Animation();

            Up.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Up\wc-up-2"));
            Up.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Up\wc-up-1"));
            Up.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Up\wc-up-2"));
            Up.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Up\wc-up-3"));
            Up.SetTime(10);
            Up.SetFrame(0);

            Animation Down = new Animation();

            Down.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Down\wc-down-2"));
            Down.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Down\wc-down-1"));
            Down.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Down\wc-down-2"));
            Down.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Down\wc-down-3"));
            Down.SetTime(10);
            Down.SetFrame(0);

            Animation Left = new Animation();

            Left.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Left\wc-left-2"));
            Left.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Left\wc-left-1"));
            Left.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Left\wc-left-2"));
            Left.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Left\wc-left-3"));
            Left.SetTime(10);
            Left.SetFrame(0);

            Animation Right = new Animation();

            Right.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Right\wc-right-2"));
            Right.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Right\wc-right-1"));
            Right.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Right\wc-right-2"));
            Right.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Right\wc-right-3"));
            Right.SetTime(10);
            Right.SetFrame(0);

            Animation Idle = new Animation();

            Idle.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Up\wc-up-2"));
            Idle.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Down\wc-down-2"));
            Idle.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Left\wc-left-2"));
            Idle.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Right\wc-right-2"));
            Idle.SetTime(10);
            Idle.SetFrame(0);


            walk = new DirectionAnimationPacket();
            walk.InitializeAnimation(Up, DirectionAnimationPacket.Animations.UP);
            walk.InitializeAnimation(Down, DirectionAnimationPacket.Animations.DOWN);
            walk.InitializeAnimation(Left, DirectionAnimationPacket.Animations.LEFT);
            walk.InitializeAnimation(Right, DirectionAnimationPacket.Animations.RIGHT);
            walk.InitializeAnimation(Idle, DirectionAnimationPacket.Animations.IDLE);
            walk.setAnimation(DirectionAnimationPacket.Animations.IDLE);

            int       attackSpeed = 3;
            Animation AttackUp    = new Animation();
            Texture2D temp        = Game1.content.Load <Texture2D>(@"Hero\Attack\Up\attack-up-1");

            AttackUp.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Up\attack-up-1"));
            AttackUp.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Up\attack-up-2"));
            AttackUp.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Up\attack-up-3"));
            AttackUp.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Up\attack-up-4"));
            AttackUp.SetTime(attackSpeed);
            AttackUp.Offset(new Vector2(-64, -64));
            AttackUp.SetFrame(0);

            Animation AttackDown = new Animation();

            AttackDown.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Down\attack-down-1"));
            AttackDown.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Down\attack-down-2"));
            AttackDown.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Down\attack-down-3"));
            AttackDown.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Down\attack-down-4"));
            AttackDown.SetTime(attackSpeed);
            AttackDown.SetFrame(0);

            Animation AttackLeft = new Animation();

            AttackLeft.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Left\attack-left-1"));
            AttackLeft.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Left\attack-left-2"));
            AttackLeft.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Left\attack-left-3"));
            AttackLeft.SetTime(attackSpeed);
            AttackLeft.Offset(new Vector2(-64, -64));
            AttackLeft.SetFrame(0);

            Animation AttackRight = new Animation();

            AttackRight.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Right\attack-right-1"));
            AttackRight.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Right\attack-right-2"));
            AttackRight.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Right\attack-right-3"));
            AttackRight.SetTime(attackSpeed);
            AttackRight.Offset(new Vector2(-0, -64));
            AttackRight.SetFrame(0);

            attack = new DirectionAnimationPacket();
            attack.InitializeAnimation(AttackUp, DirectionAnimationPacket.Animations.UP);
            attack.InitializeAnimation(AttackDown, DirectionAnimationPacket.Animations.DOWN);
            attack.InitializeAnimation(AttackLeft, DirectionAnimationPacket.Animations.LEFT);
            attack.InitializeAnimation(AttackRight, DirectionAnimationPacket.Animations.RIGHT);

            attackSpeed = 3;
            Animation MagicUp = new Animation();

            temp = Game1.content.Load <Texture2D>(@"Hero\Attack\Up\attack-up-1");
            MagicUp.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Up\attack-up-4"));
            MagicUp.SetTime(attackSpeed);
            MagicUp.Offset(new Vector2(-64, -64));
            MagicUp.SetFrame(0);

            Animation MagicDown = new Animation();

            MagicDown.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Down\attack-down-4"));
            MagicDown.SetTime(attackSpeed);
            MagicDown.SetFrame(0);

            Animation MagicLeft = new Animation();

            MagicLeft.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Left\attack-left-3"));
            MagicLeft.SetTime(attackSpeed);
            MagicLeft.Offset(new Vector2(-64, -64));
            MagicLeft.SetFrame(0);

            Animation MagicRight = new Animation();

            MagicRight.AddFrame(Game1.content.Load <Texture2D>(@"Hero\Attack\Right\attack-right-3"));
            MagicRight.SetTime(attackSpeed);
            MagicRight.Offset(new Vector2(-0, -64));
            MagicRight.SetFrame(0);

            magic = new DirectionAnimationPacket();
            magic.InitializeAnimation(MagicUp, DirectionAnimationPacket.Animations.UP);
            magic.InitializeAnimation(MagicDown, DirectionAnimationPacket.Animations.DOWN);
            magic.InitializeAnimation(MagicLeft, DirectionAnimationPacket.Animations.LEFT);
            magic.InitializeAnimation(MagicRight, DirectionAnimationPacket.Animations.RIGHT);
            magic.setAnimation(DirectionAnimationPacket.Animations.UP);
            currentAnimation = walk;
        }
Exemplo n.º 6
0
 public static Vector2 Orientate(Kinetic Orientation, Kinetic Target, float MaxAngularVelocity)
 {
     Orientation.orientations.SetOrientation(Target.position - Orientation.position);
     return(Orientation.orientations.GetVecOrientation());
 }
Exemplo n.º 7
0
        void InitializeAnimation()
        {
            kinetics          = Kinetic.ZERO();
            kinetics.position = new Vector2(100, 100);
            Kinetic.SetBoundingBoxDimensions(ref kinetics.boundingBox, Game1.content.Load <Texture2D>(@"Enemy\Up\enemy-up-2"));

            Animation Up = new Animation();

            Up.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Up\enemy-up-2"));
            Up.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Up\enemy-up-1"));
            Up.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Up\enemy-up-2"));
            Up.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Up\enemy-up-3"));
            Up.SetTime(10);
            Up.SetFrame(0);

            Animation Down = new Animation();

            Down.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Down\enemy-wc-down-2"));
            Down.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Down\enemy-wc-down-1"));
            Down.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Down\enemy-wc-down-2"));
            Down.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Down\enemy-wc-down-3"));
            Down.SetTime(10);
            Down.SetFrame(0);

            Animation Left = new Animation();

            Left.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Left\wc-left-2"));
            Left.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Left\wc-left-1"));
            Left.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Left\wc-left-2"));
            Left.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Left\wc-left-3"));
            Left.SetTime(10);
            Left.SetFrame(0);

            Animation Right = new Animation();

            Right.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Right\wc-right-2"));
            Right.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Right\wc-right-1"));
            Right.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Right\wc-right-2"));
            Right.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Right\wc-right-3"));
            Right.SetTime(10);
            Right.SetFrame(0);

            Animation Idle = new Animation();

            Idle.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Up\enemy-up-2"));
            Idle.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Down\enemy-wc-down-2"));
            Idle.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Left\wc-left-3"));
            Idle.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\Right\wc-right-3"));
            Idle.SetTime(10);
            Idle.SetFrame(0);


            walk = new DirectionAnimationPacket();
            walk.InitializeAnimation(Up, DirectionAnimationPacket.Animations.UP);
            walk.InitializeAnimation(Down, DirectionAnimationPacket.Animations.DOWN);
            walk.InitializeAnimation(Left, DirectionAnimationPacket.Animations.LEFT);
            walk.InitializeAnimation(Right, DirectionAnimationPacket.Animations.RIGHT);
            walk.InitializeAnimation(Idle, DirectionAnimationPacket.Animations.IDLE);
            walk.setAnimation(DirectionAnimationPacket.Animations.IDLE);

            Animation AttackUp    = new Animation();
            int       attackSpeed = 3;

            AttackUp.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackUp\enemy-attack-up-1"));
            AttackUp.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackUp\enemy-attack-up-2"));
            AttackUp.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackUp\enemy-attack-up-3"));
            AttackUp.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackUp\enemy-attack-up-4"));
            AttackUp.SetTime(attackSpeed);
            AttackUp.Offset(new Vector2(-64, -64));
            AttackUp.SetFrame(0);

            Animation AttackDown = new Animation();

            AttackDown.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackDown\enemy-attack-down-1"));
            AttackDown.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackDown\enemy-attack-down-2"));
            AttackDown.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackDown\enemy-attack-down-3"));
            AttackDown.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackDown\enemy-attack-down-4"));
            AttackDown.SetTime(attackSpeed);
            AttackDown.SetFrame(0);

            Animation AttackLeft = new Animation();

            AttackLeft.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackLeft\enemy-attack-left-1"));
            AttackLeft.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackLeft\enemy-attack-left-2"));
            AttackLeft.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackLeft\enemy-attack-left-3"));
            AttackLeft.SetTime(attackSpeed);
            AttackLeft.Offset(new Vector2(-64, -64));
            AttackLeft.SetFrame(0);

            Animation AttackRight = new Animation();

            AttackRight.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackRight\enemy-attack-right-1"));
            AttackRight.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackRight\enemy-attack-right-2"));
            AttackRight.AddFrame(Game1.content.Load <Texture2D>(@"Enemy\AttackRight\enemy-attack-right-3"));
            AttackRight.SetTime(attackSpeed);
            AttackRight.Offset(new Vector2(-0, -64));
            AttackRight.SetFrame(0);

            attack = new DirectionAnimationPacket();
            attack.InitializeAnimation(AttackUp, DirectionAnimationPacket.Animations.UP);
            attack.InitializeAnimation(AttackDown, DirectionAnimationPacket.Animations.DOWN);
            attack.InitializeAnimation(AttackLeft, DirectionAnimationPacket.Animations.LEFT);
            attack.InitializeAnimation(AttackRight, DirectionAnimationPacket.Animations.RIGHT);
            attack.setAnimation(DirectionAnimationPacket.Animations.RIGHT);


            current = walk;
        }
Exemplo n.º 8
0
 public Persue(Kinetic Agent, Kinetic Target)
 {
     agent  = Agent;
     target = Target;
 }
Exemplo n.º 9
0
 public Stop(Kinetic Agent)
 {
     agent = Agent;
 }
Exemplo n.º 10
0
 public Approach(Kinetic Agent, Kinetic Target)
 {
     agent  = Agent;
     target = Target;
 }