Пример #1
0
 private void load(UserInputManager inputManager)
 {
     this.inputManager = inputManager;
     animation         = new AnimatedSprite();
     animation.AddAnimation(new Animation("down")
     {
         new Frame(125f, "Resources\\Graphics\\World\\Player\\down.png"),
         new Frame(125f, "Resources\\Graphics\\World\\Player\\down_1.png"),
         new Frame(125f, "Resources\\Graphics\\World\\Player\\down.png"),
         new Frame(125f, "Resources\\Graphics\\World\\Player\\down_2.png")
     });
     animation.AddAnimation(new Animation("up")
     {
         new Frame(125f, "Resources\\Graphics\\World\\Player\\up.png"),
         new Frame(125f, "Resources\\Graphics\\World\\Player\\up_1.png"),
         new Frame(125f, "Resources\\Graphics\\World\\Player\\up.png"),
         new Frame(125f, "Resources\\Graphics\\World\\Player\\up_2.png")
     });
     animation.AddAnimation(new Animation("left")
     {
         new Frame(125f, "Resources\\Graphics\\World\\Player\\left.png"),
         new Frame(125f, "Resources\\Graphics\\World\\Player\\left_1.png"),
         new Frame(125f, "Resources\\Graphics\\World\\Player\\left.png"),
         new Frame(125f, "Resources\\Graphics\\World\\Player\\left_2.png")
     });
     animation.AddAnimation(new Animation("right")
     {
         new Frame(125f, "Resources\\Graphics\\World\\Player\\left.png")
         {
             Mirrored = (true, false)
         },
Пример #2
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // TODO: use this.Content to load your game content here
            Contents.graphicsDevice = GraphicsDevice;
            Contents.LoadAll(Content, GraphicsDevice);

            //animSprite = new AnimatedSprite("sprite", Contents.swordsman, 48, 43, Vector2.Zero, fps : 10,
            //    keyboardInput: KeyboardInput.Default());

            AnimatedSprite swordsman = new AnimatedSprite
                                           ("Swordsman", Contents.swordsman, 48, 43, Vector2.Zero,
                                           PlayerIndex.One, isInteractable: true, keyboardInput: KeyboardInput.None());

            // Idle Animation that is played on startup
            swordsman.AddAnimation(EAnimation.Idle, 4, 48, 43, 433, 0, new Vector2(0, 0), 5);

            // Idle Animations for each direction.
            swordsman.AddAnimation(EAnimation.IdleLeft, 4, 48, 43, 528, 4, new Vector2(0, 0), 5);
            swordsman.AddAnimation(EAnimation.IdleUp, 4, 48, 43, 528, 0, new Vector2(0, 0), 5);
            swordsman.AddAnimation(EAnimation.IdleRight, 4, 48, 43, 480, 0, new Vector2(0, 0), 5);
            swordsman.AddAnimation(EAnimation.IdleDown, 4, 48, 43, 433, 0, new Vector2(0, 0), 5);

            // Movement Animations for each direction.
            swordsman.AddAnimation(EAnimation.Left, 8, 50, 50, 100, 0, new Vector2(0, 0), 12);
            swordsman.AddAnimation(EAnimation.Up, 12, 50, 50, 50, 0, new Vector2(0, 0), 15);
            swordsman.AddAnimation(EAnimation.Right, 8, 50, 50, 100, 8, new Vector2(0, 0), 12);
            swordsman.AddAnimation(EAnimation.Down, 12, 50, 50, 0, 0, new Vector2(0, 0), 15);

            swordsman.SetAnimation(EAnimation.Idle);

            slider = new Slider(new RectangleF(2000, 100, 100, 100));
        }
Пример #3
0
        protected override void LoadContent()
        {
            //use base.Content to load your game content here
            //load map0 layers and backbuffer
            base.Maps[0].CollisionLayer      = CollisionLayer.FromFile("Content/layers/map1/collision.lyr");
            base.Maps[0].TacticalLayer       = TileLayer.FromFile(Content, "Content/layers/map1/tactical_map.lyr");
            base.Maps[0].TacticalLayer.Alpha = 1.0f;
            base.Maps[0].Layers.Add(TileLayer.FromFile(Content, "Content/layers/map1/map1.lyr"));
            base.Maps[0].Layers[0].Alpha = 1f;

            //player setup
            AnimatedSprite pas = new AnimatedSprite(base.Content.Load <Texture2D>("sprites/ship_ani"), null);

            pas.AddAnimation(2, 64, 64, 0, 0, 10, "Idle");
            pas.Animations["Idle"].UpdateType = UpdateType.Looped;
            pas.CurrentAnimationName          = "Idle";
            PlayerObject player = new PlayerObject
                                  (
                "Player",
                new Vector2(64, 64),
                pas,
                base.Content.Load <Texture2D>("particles/particle1"),
                base.Content.Load <Texture2D>("particles/particle_base")
                                  );

            player.CurrentMap = CurrentMap;
        }
Пример #4
0
        public Player()
        {
            Id = "player";

            AddComponent(new Position(80, 80));

            AnimatedSprite sprite = new AnimatedSprite();

            sprite.AddAnimation("up", new Animation(AssetManager.LoadTexture("link_up"), 12, 15, 0.2f, true));
            sprite.AddAnimation("down", new Animation(AssetManager.LoadTexture("link_down"), 13, 16, 0.2f, true));
            sprite.AddAnimation("left", new Animation(AssetManager.LoadTexture("link_left"), 14, 16, 0.2f, true));
            sprite.AddAnimation("right", new Animation(AssetManager.LoadTexture("link_right"), 14, 16, 0.2f, true));
            sprite.PlayAnimation("down");
            AddComponent(sprite);

            AddComponent(new PlayerInput());
            AddComponent(new Collision());
        }
Пример #5
0
        public override void Load()
        {
            sprite = new Sprite(Engine.Content.Get <Texture2D>("party"));

            character = new AnimatedSprite <Animations>(Engine.Content.Get <TextureAtlas>("character"));

            character
            .AddAnimation(Animations.WalkDown, new int[] { 0, 1, 2, 3 }, SpriteAnimationMode.OneTime);

            character.CurrentAnimation.Mode = SpriteAnimationMode.Loop;

            sprite.SetPosition(Engine.Canvas.Width / 2, Engine.Canvas.Height / 2);

            character.SetPosition(sprite.X + 100, sprite.Y + 100);

            sprite.SetSize(sprite.Width * 2f, sprite.Height * 2f);

            character.SetSize(character.Width * 4f, character.Height * 4f);
        }
Пример #6
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        AnimatedSprite spr = target as AnimatedSprite;

        if (spr.spriteSheet == null)
        {
            return;
        }

        GUI.skin = EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector);

        spr.play = EditorGUILayout.Toggle("Play?", spr.play);
        GUILayout.Label("Current : ");

        string[] names   = new string[spr.spriteAnimListInternal.Count];
        int      idx     = 0;
        int      current = 0;

        foreach (SpriteAnimation a in spr.spriteAnimListInternal)
        {
            names[idx] = a.name;

            if (a == spr.current)
            {
                current = idx;
            }
            ++idx;
        }

        int selec = EditorGUILayout.Popup(current, names);

        if (selec != current)
        {
            spr.currentName = names[selec];
        }

        EditorGUILayout.Space();

        EditorGUILayout.BeginVertical();

        EditorGUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
        EditorGUILayout.Space();

        GUILayout.Label("Name", GUILayout.Width(60));
        GUILayout.Label("Start", GUILayout.Width(60));
        GUILayout.Label("End", GUILayout.Width(60));
        GUILayout.Label("Speed", GUILayout.Width(60));
        GUILayout.Label("WrapMode", GUILayout.Width(60));
        GUILayout.Space(60);

        EditorGUILayout.Space();
        EditorGUILayout.EndHorizontal();

        List <SpriteAnimation> toRemove = new List <SpriteAnimation>();

        if (spr.spriteAnimListInternal != null)
        {
            List <SpriteAnimation> copyAnim = new List <SpriteAnimation>(spr.spriteAnimListInternal);
            int i = 0;
            foreach (SpriteAnimation anim in copyAnim)
            {
                EditorGUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
                EditorGUILayout.Space();

                anim.name = GUILayout.TextField(anim.name, GUILayout.Width(60));

                anim.startFrame = EditorGUILayout.IntField(anim.startFrame, GUILayout.Width(60));
                anim.endFrame   = EditorGUILayout.IntField(anim.endFrame, GUILayout.Width(60));
                anim.duration   = EditorGUILayout.FloatField(anim.duration, GUILayout.Width(60));
                anim.wrapMode   = (WrapMode)EditorGUILayout.EnumPopup(anim.wrapMode, GUILayout.Width(60));

                if (GUILayout.Button("-", GUILayout.Width(60)))
                {
                    toRemove.Add(anim);
                }

                EditorGUILayout.Space();
                EditorGUILayout.EndHorizontal();

                ++i;
            }

            foreach (SpriteAnimation a in toRemove)
            {
                copyAnim.Remove(a);
            }

            spr.spriteAnimListInternal.Clear();
            spr.spriteAnimListInternal.AddRange(copyAnim);
            spr.RebuildAnimDictionnary();
        }

        if (GUILayout.Button("+"))
        {
            spr.AddAnimation("NewAnim", new int[] { 0, 1 });
        }

        SpriteAnimation addedAnim = EditorGUILayout.ObjectField("Drag or choose here an anim to add", null, typeof(SpriteAnimation), false) as SpriteAnimation;

        if (addedAnim != null)
        {
            spr.spriteAnimListInternal.Add(addedAnim);
            spr.RebuildAnimDictionnary();
        }

        EditorGUILayout.EndVertical();
    }