Пример #1
0
        public void splitWidth()
        {
            Rectangle rect = new Rectangle {
                X = 10, Y = 11, Width = 12, Height = 13
            };
            ISprite split = sprite.split(rect);

            Assert.AreEqual(12, split.getWidth());
        }
Пример #2
0
        public AnimatedSprite createAnimatedSprite(ISprite baseImage, int frames,
                                                   int delay, bool loop)
        {
            Debug.Assert(baseImage != null);
            Debug.Assert(frames > 0);

            int frameWidth = baseImage.getWidth() / frames;

            ISprite[] animation = new ISprite[frames];
            for (int i = 0; i < frames; i++)
            {
                animation[i] = baseImage.split(i * frameWidth, 0, frameWidth,
                                               baseImage.getHeight());
            }

            return(new AnimatedSprite(animation, delay, loop));
        }
Пример #3
0
        private IDictionary <Direction, ISprite> DirectionSprite(string resource, int frames)
        {
            IDictionary <Direction, ISprite> sprite = new Dictionary <Direction, ISprite>();

            ISprite baseImage = loadSprite(resource);

            for (int i = 0; i < DIRECTIONS.Length; i++)
            {
                ISprite directionSprite = baseImage.split(0, i * SPRITE_SIZE, frames
                                                          * SPRITE_SIZE, SPRITE_SIZE);
                AnimatedSprite animation = createAnimatedSprite(directionSprite,
                                                                frames, ANIMATION_DELAY, true);
                animation.setAnimating(true);
                sprite[DIRECTIONS[i]] = animation;
            }

            return(sprite);
        }
Пример #4
0
        private IDictionary <Direction, ISprite> DirectionSprite(string resource, int frames)
        {
            IDictionary <Direction, ISprite> sprite = new Dictionary <Direction, ISprite>();

            ISprite baseImage = loadSprite(resource);

            for (int i = 0; i < DIRECTIONS.Length; i++)
            {
                ISprite directionSprite = baseImage.split(new System.Drawing.Rectangle {
                    X = 0, Y = i * SPRITE_SIZE, Width = frames * SPRITE_SIZE, Height = SPRITE_SIZE
                });
                AnimatedSprite animation = createAnimatedSprite(directionSprite,
                                                                frames, ANIMATION_DELAY, true);
                animation.setAnimating(true);
                sprite[DIRECTIONS[i]] = animation;
            }

            return(sprite);
        }
Пример #5
0
        public void splitWidth()
        {
            ISprite split = sprite.split(10, 11, 12, 13);

            Assert.AreEqual(12, split.getWidth());
        }