SteelGolem icon

Untitled

SteelGolem | PRO | 07/18/19 08:41:28 PM UTC | 0 ⭐ | 494 👁️ | Never ⏰ | []
C# |

4.28 KB

|

None

|

0 👍

/

0 👎

            // in WindowsGame1.LoadContent()
            // ...
            AnimationFrame[] frames;
            animationLookup = new Dictionary<string, AnimationFrame[]>();
            frames = new AnimationFrame[16];
            for (int f = 0; f < 4; f++) frames[f] = new AnimationFrame("sword_se", +16, +10);
            for (int f = 4; f < 8; f++) frames[f] = new AnimationFrame("sword_e", +16, +2);
            for (int f = 8; f < 12; f++) frames[f] = new AnimationFrame("sword_ne", +10, -10);
            for (int f = 12; f < 16; f++) frames[f] = new AnimationFrame("sword_n", +0, -16);
            animationLookup.Add("sword_swinging_u", frames);
            frames = new AnimationFrame[16];
            for (int f = 0; f < 4; f++) frames[f] = new AnimationFrame("sword_nw", -14, -9);
            for (int f = 4; f < 8; f++) frames[f] = new AnimationFrame("sword_w", -16, +0);
            for (int f = 8; f < 12; f++) frames[f] = new AnimationFrame("sword_sw", -11, +12);
            for (int f = 12; f < 16; f++) frames[f] = new AnimationFrame("sword_s", +0, 16);
            animationLookup.Add("sword_swinging_d", frames);
            frames = new AnimationFrame[16];
            for (int f = 0; f < 4; f++) frames[f] = new AnimationFrame("sword_ne", +10, -8);
            for (int f = 4; f < 8; f++) frames[f] = new AnimationFrame("sword_n", +0, -11);
            for (int f = 8; f < 12; f++) frames[f] = new AnimationFrame("sword_nw", -14, -5);
            for (int f = 12; f < 16; f++) frames[f] = new AnimationFrame("sword_w", -16, +3);
            animationLookup.Add("sword_swinging_l", frames);
            frames = new AnimationFrame[16];
            for (int f = 0; f < 4; f++) frames[f] = new AnimationFrame("sword_nw", -10, -8);
            for (int f = 4; f < 8; f++) frames[f] = new AnimationFrame("sword_n", +0, -11);
            for (int f = 8; f < 12; f++) frames[f] = new AnimationFrame("sword_ne", +14, -5);
            for (int f = 12; f < 16; f++) frames[f] = new AnimationFrame("sword_e", +16, +3);
            animationLookup.Add("sword_swinging_r", frames);
            frames = new AnimationFrame[12];
            for (int f = 0; f < 4; f++) frames[f] = new AnimationFrame("sword_n", +2, -8);
            for (int f = 4; f < 8; f++) frames[f] = new AnimationFrame("sword_n", +2, -16);
            for (int f = 8; f < 12; f++) frames[f] = new AnimationFrame("sword_n", +2, -8);
            animationLookup.Add("sword_stabbing_u", frames);
            frames = new AnimationFrame[12];
            for (int f = 0; f < 4; f++) frames[f] = new AnimationFrame("sword_s", -2, +8);
            for (int f = 4; f < 8; f++) frames[f] = new AnimationFrame("sword_s", -2, +16);
            for (int f = 8; f < 12; f++) frames[f] = new AnimationFrame("sword_s", -2, +8);
            animationLookup.Add("sword_stabbing_d", frames);
            frames = new AnimationFrame[12];
            for (int f = 0; f < 4; f++) frames[f] = new AnimationFrame("sword_w", -8, +3);
            for (int f = 4; f < 8; f++) frames[f] = new AnimationFrame("sword_w", -16, +3);
            for (int f = 8; f < 12; f++) frames[f] = new AnimationFrame("sword_w", -8, +3);
            animationLookup.Add("sword_stabbing_l", frames);
            frames = new AnimationFrame[12];
            for (int f = 0; f < 4; f++) frames[f] = new AnimationFrame("sword_e", +8, +3);
            for (int f = 4; f < 8; f++) frames[f] = new AnimationFrame("sword_e", +16, +3);
            for (int f = 8; f < 12; f++) frames[f] = new AnimationFrame("sword_e", +8, +3);
            animationLookup.Add("sword_stabbing_r", frames);
            // ...
 
        void UpdateSword()
        {
            if (sword.state == "swinging" && sword.stateFrames == 16)
            {
                sword = null;
                return;
            }
 
            if (sword.state == "stabbing" && sword.stateFrames == 12)
            {
                sword = null;
                return;
            }
 
            AnimationFrame[] frames = animationLookup["sword_" + sword.state + "_" + sword.dir];
            AnimationFrame frame = frames[sword.stateFrames];
            sword.srcRect = frame.srcRect;
            sword.x = player.x + frame.x;
            sword.y = player.y + frame.y;
 
            sword.stateFrames++;
        }

Comments