Esempio n. 1
0
        public Zombie4()
        {
            m_walkRightSequence = new SpriteSequence(
                EnnemiesSprites.Instance.Z4Right1,
                EnnemiesSprites.Instance.Z4Right2,
                EnnemiesSprites.Instance.Z4Right3
            );

            m_walkLeftSequence = new SpriteSequence(
               EnnemiesSprites.Instance.Z4Left1,
               EnnemiesSprites.Instance.Z4Left2,
               EnnemiesSprites.Instance.Z4Left3
               );

            m_walkFrontSequence = new SpriteSequence(
                EnnemiesSprites.Instance.Z4Front1,
                EnnemiesSprites.Instance.Z4Front2,
                EnnemiesSprites.Instance.Z4Front3
            );

            m_walkBackSequence = new SpriteSequence(
                EnnemiesSprites.Instance.Z4Back1,
                EnnemiesSprites.Instance.Z4Back2,
                EnnemiesSprites.Instance.Z4Back3
            );

            m_walkRightSequence.SpritesPerSecond = 5;
            m_walkLeftSequence.SpritesPerSecond = 5;
            m_walkFrontSequence.SpritesPerSecond = 5;
            m_walkBackSequence.SpritesPerSecond = 5;

            m_move.Speed = World.World.Instance.Map.Random.Next(2, 15); ;
        }
Esempio n. 2
0
        public Zombie6()
        {
            m_walkRightSequence = new SpriteSequence(
                EnnemiesSprites.Instance.Z6Right1,
                EnnemiesSprites.Instance.Z6Right2,
                EnnemiesSprites.Instance.Z6Right3
                );

            m_walkLeftSequence = new SpriteSequence(
                EnnemiesSprites.Instance.Z6Left1,
                EnnemiesSprites.Instance.Z6Left2,
                EnnemiesSprites.Instance.Z6Left3
                );

            m_walkFrontSequence = new SpriteSequence(
                EnnemiesSprites.Instance.Z6Front1,
                EnnemiesSprites.Instance.Z6Front2,
                EnnemiesSprites.Instance.Z6Front3
                );

            m_walkBackSequence = new SpriteSequence(
                EnnemiesSprites.Instance.Z6Back1,
                EnnemiesSprites.Instance.Z6Back2,
                EnnemiesSprites.Instance.Z6Back3
                );

            m_walkRightSequence.SpritesPerSecond = 5;
            m_walkLeftSequence.SpritesPerSecond  = 5;
            m_walkFrontSequence.SpritesPerSecond = 5;
            m_walkBackSequence.SpritesPerSecond  = 5;

            m_move.Speed = World.World.Instance.Map.Random.Next(2, 15);
        }
Esempio n. 3
0
        public Slime()
        {
            m_idleLeftSequence = new SpriteSequence(
                EnemiesSprites.Instance.SlimeWalkLeft1
            );

            m_idleRightSequence = new SpriteSequence(
                EnemiesSprites.Instance.SlimeWalkRight1
            );

            m_walkLeftSequence = new SpriteSequence(
                EnemiesSprites.Instance.SlimeWalkLeft1,
                EnemiesSprites.Instance.SlimeWalkLeft2
            );

            m_walkRightSequence = new SpriteSequence(
                EnemiesSprites.Instance.SlimeWalkRight1,
                EnemiesSprites.Instance.SlimeWalkRight2
            );

            m_walkLeftSequence.SpritesPerSecond = 6;
            m_walkRightSequence.SpritesPerSecond = 6;

            m_deadSequence = new SpriteSequence(
                EnemiesSprites.Instance.SlimeDead
            );
        }
Esempio n. 4
0
        public Slime()
        {
            m_idleLeftSequence = new SpriteSequence(
                EnemiesSprites.Instance.SlimeWalkLeft1
                );

            m_idleRightSequence = new SpriteSequence(
                EnemiesSprites.Instance.SlimeWalkRight1
                );

            m_walkLeftSequence = new SpriteSequence(
                EnemiesSprites.Instance.SlimeWalkLeft1,
                EnemiesSprites.Instance.SlimeWalkLeft2
                );

            m_walkRightSequence = new SpriteSequence(
                EnemiesSprites.Instance.SlimeWalkRight1,
                EnemiesSprites.Instance.SlimeWalkRight2
                );

            m_walkLeftSequence.SpritesPerSecond  = 6;
            m_walkRightSequence.SpritesPerSecond = 6;

            m_deadSequence = new SpriteSequence(
                EnemiesSprites.Instance.SlimeDead
                );
        }
Esempio n. 5
0
        private SpriteSequence GetSpriteSequence()
        {
            SpriteSequence seq = null;

            if (Math.Abs(m_move.LastDirection.X) > Math.Abs(m_move.LastDirection.Y))
            {
                if (m_move.LastDirection.X > 0)
                {
                    seq = m_walkRightSequence;
                }
                else if (m_move.LastDirection.X < 0)
                {
                    seq = m_walkLeftSequence;
                }
            }
            else
            {
                if (m_move.LastDirection.Y > 0)
                {
                    seq = m_walkBackSequence;
                }
                else if (m_move.LastDirection.Y < 0)
                {
                    seq = m_walkFrontSequence;
                }
            }

            if (seq == null)
            {
                seq = m_walkFrontSequence;
            }

            return(seq);
        }
Esempio n. 6
0
    public void StartSequence(string name)
    {
        Debug.Log("start sequence" + name);
        SpriteSequence ss = GetSpriteSequence(name);

        StartCoroutine(StartSequenceCoroutine(ss));
    }
Esempio n. 7
0
    IEnumerator StartSequenceCoroutine(SpriteSequence ss)
    {
        Debug.Log("In coroutine");
        yield return(new WaitForSeconds(ss.delay));

        GameObject obj   = Instantiate(imagePrefab, transform);
        Image      image = obj.GetComponent <Image>();

        foreach (Sprite sprite in ss.sprites)
        {
            image.sprite = sprite;
            image.color  = Color.white;
            image.transform.localScale = Vector3.one * .6f;
            float elapsedTime = 0;
            while (elapsedTime < ss.duration)
            {
                elapsedTime += Time.deltaTime;
                float t = elapsedTime / ss.duration;
                image.color = Color.Lerp(Color.white, new Color(1, 1, 1, 0), t);
                // Lerp scale
                image.transform.localScale = Vector3.Lerp(Vector3.one * .6f, Vector3.one, t);
                yield return(null);
            }
            yield return(new WaitForSeconds(ss.interval));
        }
        Destroy(obj);
        Debug.Log("Coroutine end");
    }
Esempio n. 8
0
 /// <summary>
 /// Constructs object to managing updating a sprite box element of the
 /// composite image.
 /// </summary>
 /// <param name="pictureBox">The picture box to draw in</param>
 /// <param name="spriteSequence">The sprite sequence</param>
 /// <param name="spriteRenderMethod">The method to draw in there</param>
 public SpriteControl(PictureBox pictureBox, SpriteSequence spriteSequence, string spriteRenderMethod)
 {
     this.pictureBox         = pictureBox;
     this.spriteRenderMethod = spriteRenderMethod;
     this.spriteSequence     = spriteSequence;
     // Make a note of the sprite sequences
     itr = spriteSequence.Bitmaps.GetEnumerator();
 }
Esempio n. 9
0
        protected void UpdateSprite(TimeSpan elapsed, SpriteSequence sequence)
        {
            m_sequence.Update(elapsed);

            m_sprite.Position = new Vector2(m_location.Position.X - m_box.X / 2, m_location.Position.Y - m_box.Y / 2);
            m_sprite.Sprite   = m_sequence.CurrentSprite;
            m_sprite.Size     = m_box;
        }
Esempio n. 10
0
 /// <summary>
 /// Inicializa una nueva instancia de la clase AzulEngine.SpriteEngine.SpriteLayer que permite
 /// crear una instancia completa con transparencia, visibilidad, posición,escala,velocidad, independencia de cámara y dirección de movimiento
 /// </summary>
 /// <param name="spriteCatalog">Catálogo de cuadros</param>
 /// <param name="spriteSecuence">Colección de secuencia de cuadros</param>
 /// <param name="transparency">Transparencia de la capa</param>
 /// <param name="visible">Visibilidad de la capa</param>
 /// <param name="position">Posición de la capa</param>
 /// <param name="zoomScale">Escala inicial de la capa</param>
 /// <param name="velocity">Velocidad de desplazamiento de la capa</param>
 /// <param name="spriteEffects">Efecto de rotación sobre el sprite</param>
 /// <param name="cameraIndependent">Indica si la capa es independiente del movimiento de la cámara</param>
 /// <param name="direction">Dirección de desplazamiento de la capa cuando esta es independiente de la cámara</param>
 public SpriteLayer(SpriteCatalog spriteCatalog, SpriteSequence[] spriteSecuence, float transparency, Boolean visible, Vector2 position, Vector2 zoomScale, Vector2 velocity, SpriteEffects spriteEffects, bool cameraIndependent, LayerMovementDirection direction)
     : base(transparency, visible, position, zoomScale, velocity, cameraIndependent, direction)
 {
     this.SpriteCatalog = spriteCatalog;
     this.SpriteSequences = spriteSecuence;
     this.Anchor = Anchor.None;
     this.SpriteEffects = spriteEffects;
     this.TotalElapsedTime = 0f;
 }
Esempio n. 11
0
        public void LoadSpriteToSeq(SpriteSequence ss, string atlasName, string spriteName, int index)
        {
            Sprite sprite = loadSprite(atlasName, spriteName);

            ss.sprites[index] = sprite;

            ImgRes imgRes = getCachedAbRes(ABType.Sprite, atlasName) as ImgRes;

            imgRes.AddRefTrs(ss.transform);
        }
Esempio n. 12
0
        public BloodFloor1()
        {
            m_sequence = new SpriteSequence(
                BloodSprites.Instance.Blood03
                );

            m_sequence.SpritesPerSecond = 12;

            NeverDie = true;
        }
Esempio n. 13
0
        public BloodFloor1()
        {
            m_sequence = new SpriteSequence(
                BloodSprites.Instance.Blood03
            );

            m_sequence.SpritesPerSecond = 12;

            NeverDie = true;
        }
    private void Initialize()
    {
        sr = GetComponent <SpriteRenderer>();
        ss = GetComponent <SpriteSequence>();

        if (hidden)
        {
            sr.enabled = false;
        }
    }
Esempio n. 15
0
        private SpriteSequence GetSpriteSequence()
        {
            SpriteSequence seq = null;

            if (seq == null)
            {
                seq = m_sequence;
            }

            return(seq);
        }
Esempio n. 16
0
    void Awake()
    {
        listeners = new List <ISpriteSheet>();
        sequences = new SpriteSequence[sequenceFrameCount.Count];
        int counter = 0;

        for (int i = 0; i < sequences.Length; i++)
        {
            sequences[i] = new SpriteSequence(counter, counter + sequenceFrameCount[i] - 1);
            counter     += sequenceFrameCount[i];
        }
    }
Esempio n. 17
0
        public Blood4()
        {
            m_sequence = new SpriteSequence(
                BloodSprites.Instance.Blood30,
                BloodSprites.Instance.Blood31,
                BloodSprites.Instance.Blood32,
                BloodSprites.Instance.Blood33,
                BloodSprites.Instance.Blood34,
                BloodSprites.Instance.Blood35
            );

            m_sequence.SpritesPerSecond = 12;
        }
Esempio n. 18
0
        public Blood3()
        {
            m_sequence = new SpriteSequence(
                BloodSprites.Instance.Blood20,
                BloodSprites.Instance.Blood21,
                BloodSprites.Instance.Blood22,
                BloodSprites.Instance.Blood23,
                BloodSprites.Instance.Blood24,
                BloodSprites.Instance.Blood25
                );

            m_sequence.SpritesPerSecond = 12;
        }
Esempio n. 19
0
        public Blood1()
        {
            m_sequence = new SpriteSequence(
                BloodSprites.Instance.Blood00,
                BloodSprites.Instance.Blood01,
                BloodSprites.Instance.Blood02,
                BloodSprites.Instance.Blood03,
                BloodSprites.Instance.Blood04,
                BloodSprites.Instance.Blood05
            );

            m_sequence.SpritesPerSecond = 12;
        }
Esempio n. 20
0
        public Blood4()
        {
            m_sequence = new SpriteSequence(
                BloodSprites.Instance.Blood30,
                BloodSprites.Instance.Blood31,
                BloodSprites.Instance.Blood32,
                BloodSprites.Instance.Blood33,
                BloodSprites.Instance.Blood34,
                BloodSprites.Instance.Blood35
                );

            m_sequence.SpritesPerSecond = 12;
        }
Esempio n. 21
0
        public Blood2()
        {
            m_sequence = new SpriteSequence(
                BloodSprites.Instance.Blood10,
                BloodSprites.Instance.Blood11,
                BloodSprites.Instance.Blood12,
                BloodSprites.Instance.Blood13,
                BloodSprites.Instance.Blood14,
                BloodSprites.Instance.Blood15
                );

            m_sequence.SpritesPerSecond = 12;
        }
Esempio n. 22
0
        /// <summary>
        /// When the selection is clicked, start playing the sequence
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void play_Click(object sender, EventArgs e)
        {
            // Play sprite sequence
            var spriteSequenceName = comboBox1.SelectedItem;

            // stop timer
            timer1.Stop();
            // Get the sprite sequence
            spriteSequence = assets.SpriteSequence((string)spriteSequenceName);
            itr            = spriteSequence.Bitmaps.GetEnumerator();
            // start the timer
            timer1.Start();
        }
Esempio n. 23
0
        public Blood2()
        {
            m_sequence = new SpriteSequence(
                BloodSprites.Instance.Blood10,
                BloodSprites.Instance.Blood11,
                BloodSprites.Instance.Blood12,
                BloodSprites.Instance.Blood13,
                BloodSprites.Instance.Blood14,
                BloodSprites.Instance.Blood15
            );

            m_sequence.SpritesPerSecond = 12;
        }
Esempio n. 24
0
        public Blood1()
        {
            m_sequence = new SpriteSequence(
                BloodSprites.Instance.Blood00,
                BloodSprites.Instance.Blood01,
                BloodSprites.Instance.Blood02,
                BloodSprites.Instance.Blood03,
                BloodSprites.Instance.Blood04,
                BloodSprites.Instance.Blood05
                );

            m_sequence.SpritesPerSecond = 12;
        }
Esempio n. 25
0
        public Animation(string name, int layer, int[] spriteSequence, int frameDurationMs, bool loopable)
        {
            this.Name = name;

            this.Layers = new List <SpriteSequence>();
            SpriteSequence newLayer = new SpriteSequence(layer, spriteSequence, new [] { frameDurationMs });

            this.Layers.Add(newLayer);

            this.IsLoopable = loopable;

            this.Duration = frameDurationMs * spriteSequence.Length;
        }
Esempio n. 26
0
        public Blood3()
        {
            m_sequence = new SpriteSequence(
                BloodSprites.Instance.Blood20,
                BloodSprites.Instance.Blood21,
                BloodSprites.Instance.Blood22,
                BloodSprites.Instance.Blood23,
                BloodSprites.Instance.Blood24,
                BloodSprites.Instance.Blood25
            );

            m_sequence.SpritesPerSecond = 12;
        }
Esempio n. 27
0
        protected void UpdateSprite(TimeSpan elapsed, SpriteSequence sequence)
        {
            if (sequence != m_currentSequence)
            {
                m_currentSequence = sequence;
                m_currentSequence.Reset();
            }

            m_currentSequence.Update(elapsed);

            m_sprite.Position = new Vector2(m_location.Position.X - m_box.X / 2, m_location.Position.Y - m_box.Y / 2);
            m_sprite.Sprite   = m_currentSequence.CurrentSprite;
            m_sprite.Size     = new Vector2(m_sprite.Sprite.Size.X, m_sprite.Sprite.Size.Y);
        }
Esempio n. 28
0
        protected void UpdateSprite(TimeSpan elapsed, SpriteSequence sequence)
        {
            if (sequence != m_currentSequence)
            {
                m_currentSequence = sequence;
                m_currentSequence.Reset();
            }

            m_currentSequence.Update(elapsed);

            m_sprite.Position = new Vector2(m_location.Position.X - m_box.X / 2, m_location.Position.Y - m_box.Y / 2);
            m_sprite.Sprite = m_currentSequence.CurrentSprite;
            m_sprite.Size = new Vector2(m_sprite.Sprite.Size.X, m_sprite.Sprite.Size.Y);
        }
Esempio n. 29
0
        void IHandler <Start> .Handle(FrameArgs frame, Start e)
        {
            _cam = new Camera2D(e.Size, 1000f, Camera2DOrigin.Center);

            // load the atlas
            _coin = new Atlas("coin.atlas");

            // create a sprite sequence from the frames in
            // the spritesheet. by adding it to the scene, it will
            // automatically be updated (we could also pump it
            // manually in Update). this animation runs at 8 FPS.
            _anim = new SpriteSequence(8, true, _coin,
                                       "coin-1", "coin-2", "coin-3", "coin-4");
            this.Add(_anim);
        }
Esempio n. 30
0
        public bool ReplaceLayer(int layer, int[] spriteSequence, int[] frameFurationMs)
        {
            int i = Layers.FindIndex(s => s.Layer == layer);

            if (i >= 0)
            {
                Layers[i] = new SpriteSequence(layer, spriteSequence, frameFurationMs);

                if (Layers[i].Duration > this.Duration)
                {
                    Duration = Layers[i].Duration;
                }
            }

            return(false);
        }
Esempio n. 31
0
        public Animation(string name, int layer, int[] spriteSequence, int[] frameDurationMs, bool loopable)
        {
            this.Name = name;

            this.Layers = new List <SpriteSequence>();
            SpriteSequence newLayer = new SpriteSequence(layer, spriteSequence, frameDurationMs);

            this.Layers.Add(newLayer);

            this.IsLoopable = loopable;

            if (newLayer.Duration > this.Duration)
            {
                this.Duration = newLayer.Duration;
            }
        }
Esempio n. 32
0
        protected void UpdateSprite(TimeSpan elapsed, SpriteSequence sequence)
        {
            if (sequence != m_currentSequence)
            {
                m_currentSequence = sequence;
                m_currentSequence.Reset();
            }

            m_currentSequence.Update(elapsed);

            m_sprite.Position         = new Vector2(m_location.Position.X, m_location.Position.Y - m_box.Y / 2);
            m_sprite.Sprite           = m_currentSequence.CurrentSprite;
            m_sprite.Size             = m_box;
            m_sprite.Angle            = (float)Math.Atan2(m_move.Direction.Y, m_move.Direction.X);
            m_sprite.Color            = new Color4ub(255, 255, 150, 255);
            m_sprite.RotateFromOrigin = true;
        }
Esempio n. 33
0
        // Returns the index of the content arrays at the given position on the specified layer
        private int CurrentIdFromPos(float position, SpriteSequence seq)
        {
            if (position >= 1.0f)
            {
                return(seq.SpriteIds.Length - 1);
            }

            // Current position in time (ms) in the current animation
            int curr = (int)Math.Round(position * this.Duration);

            if (curr >= seq.Duration)
            {
                if (IsLoopable)
                {
                    curr = curr % seq.Duration;
                }
                else
                {
                    return(seq.SpriteIds.Length - 1);
                }
            }

            int nextF = 0;

            if (seq.MsPerFrame.Length == 1)
            {
                return((int)curr / seq.MsPerFrame[0]);
            }
            else
            {
                for (int i = 0; i < seq.SpriteIds.Length; i++)
                {
                    nextF += seq.MsPerFrame[i % seq.MsPerFrame.Length];
                    if (curr < nextF)
                    {
                        return(i);
                    }
                }
            }

            // Something has gone wrong here (curr >= seq.Duration and loopable, but is not shorter than seq.Duration after modulo)
            return(-1);
        }
Esempio n. 34
0
        public FireCamp()
        {
            m_location = new LocationComponent(this);
            m_rigidBody = new RigidBodyComponent(this, m_location);
            m_renderer = new SpriteRenderer(FireSprites.Instance);
            m_box = new Vector2(48, 48);

            m_sequence = new SpriteSequence(
                FireSprites.Instance.Camp1,
                FireSprites.Instance.Camp2,
                FireSprites.Instance.Camp3,
                FireSprites.Instance.Camp4,
                FireSprites.Instance.Camp5
            );

            m_sequence.SpritesPerSecond = 7;

            SetSprite(m_renderer);
        }
Esempio n. 35
0
        public FireCamp()
        {
            m_location  = new LocationComponent(this);
            m_rigidBody = new RigidBodyComponent(this, m_location);
            m_renderer  = new SpriteRenderer(FireSprites.Instance);
            m_box       = new Vector2(48, 48);

            m_sequence = new SpriteSequence(
                FireSprites.Instance.Camp1,
                FireSprites.Instance.Camp2,
                FireSprites.Instance.Camp3,
                FireSprites.Instance.Camp4,
                FireSprites.Instance.Camp5
                );

            m_sequence.SpritesPerSecond = 7;

            SetSprite(m_renderer);
        }
Esempio n. 36
0
        public Animation(string name, List <Tuple <int, int[], int[]> > layerSpritesDurations, bool loopable)
        {
            this.Name = name;

            this.Layers     = new List <SpriteSequence>();
            this.Duration   = 0;
            this.IsLoopable = loopable;

            foreach (Tuple <int, int[], int[]> t in layerSpritesDurations)
            {
                SpriteSequence newLayer = new SpriteSequence(t.Item1, t.Item2, t.Item3);
                this.Layers.Add(newLayer);

                if (newLayer.Duration > this.Duration)
                {
                    this.Duration = newLayer.Duration;
                }
            }

            this.Layers.Sort();
        }
Esempio n. 37
0
        // Creates an animation object with the array indices of the spriteSequences/durations as layer indicator
        // (i.e. layer 0 => spriteSequence[0] (Background)
        public Animation(string name, int[][] spriteSequence, int[][] frameDurationMs, bool loopable)
        {
            this.Name = name;

            this.Layers     = new List <SpriteSequence>();
            this.Duration   = 0;
            this.IsLoopable = loopable;

            for (int i = 0; i < spriteSequence.Length; i++)
            {
                SpriteSequence newLayer = new SpriteSequence(i, spriteSequence[i], frameDurationMs[i]);
                this.Layers.Add(newLayer);

                if (newLayer.Duration > this.Duration)
                {
                    this.Duration = newLayer.Duration;
                }
            }

            this.Layers.Sort();
        }
Esempio n. 38
0
        void IHandler <Start> .Handle(FrameArgs frame, Start e)
        {
            _cam   = new Camera2D(e.Size, 100f);
            _atlas = new Atlas("mario.atlas");
            _batch = new Batch();

            _sprites = new Sprite[] {
                _atlas["mushroom"],
                _atlas["fire-flower"],
                _atlas["star"],
                _atlas["red-shell"],
                _atlas["green-shell"],
                _atlas["goomba"]
            };
            _background       = _atlas["background"];
            _solidColor       = new SpriteMaterial(new SolidColorShader(), null);
            _solidColor.Color = new Vector4(0f, 0f, 0f, 0.65f);
            _boardBackground  = new Quad(_solidColor, Vector4.Zero, Vector4.One);

            for (var c = '0'; c <= '9'; c++)
            {
                _numbers.Add(c, _atlas[c.ToString()]);
            }

            _poof = new SpriteSequence(7, false, _atlas["smoke-1"], _atlas["smoke-2"], _atlas["smoke-3"], _atlas["smoke-4"]);
            this.Add(_poof);

            _sfx        = new SoundChannel();
            _sfx2       = new SoundChannel();
            _sndNoMatch = new SoundEffect("no-match.opus");
            _sndMatch   = new SoundEffect("match.opus");
            _sndLanding = new SoundEffect("landing.opus");
            _sndCoin    = new SoundEffect("coin.opus");
            _sndOneUp   = new SoundEffect("1-up.opus");

            _music         = new StreamingSoundChannel();
            _musicFile     = new StreamingOpusFile("mario.opus");
            _musicGameOver = new StreamingOpusFile("game-over.opus");
        }
Esempio n. 39
0
            public int CompareTo(object obj)
            {
                SpriteSequence objSeq = obj as SpriteSequence;

                ;
                if (objSeq != null)
                {
                    if (objSeq.Layer < this.Layer)
                    {
                        return(-1);
                    }
                    else if (objSeq.Layer > this.Layer)
                    {
                        return(1);
                    }
                    else
                    {
                        return(0);
                    }
                }

                throw new ArgumentException("Input object is not of type SpriteSequence or null!");
            }
Esempio n. 40
0
        public bool AddNewLayer(int layer, int[] spriteSequence, int[] frameDurationMs)
        {
            foreach (SpriteSequence seq in Layers)
            {
                if (seq.Layer == layer)
                {
                    return(false);
                }
            }

            SpriteSequence newLayer = new SpriteSequence(layer, spriteSequence, frameDurationMs);

            Layers.Add(newLayer);

            Layers.Sort();

            if (newLayer.Duration > this.Duration)
            {
                Duration = newLayer.Duration;
            }

            return(true);
        }
Esempio n. 41
0
 /// <summary>
 /// Inicializa una nueva instancia de la clase AzulEngine.SpriteEngine.SpriteLayer que permite
 /// crear una instancia solo con un cátalogo y una colección de secuencias
 /// </summary>
 /// <param name="spriteCatalog">Cátalogo de cuadros </param>
 /// <param name="spriteSecuence">Secuencia de cuadros</param>
 public SpriteLayer(SpriteCatalog spriteCatalog, SpriteSequence[] spriteSecuence)
     : this(spriteCatalog, spriteSecuence, 1.0f, true, Vector2.Zero, Vector2.One, Vector2.One, SpriteEffects.None, false, LayerMovementDirection.None)
 {
 }
Esempio n. 42
0
 public Tree3()
 {
     m_sequence = new SpriteSequence(
         TreesSprites.Instance.Arbre3
     );
 }
Esempio n. 43
0
 public BulletSniper()
 {
     m_sequence = new SpriteSequence(
         BulletSprites.Instance.Bullet0
     );
 }
Esempio n. 44
0
        protected void UpdateSprite(TimeSpan elapsed, SpriteSequence sequence)
        {
            if (sequence != m_currentSequence)
            {
                m_currentSequence = sequence;
                m_currentSequence.Reset();
            }

            m_currentSequence.Update(elapsed);

            m_sprite.Position = new Vector2(m_location.Position.X, m_location.Position.Y - m_box.Y / 2);
            m_sprite.Sprite = m_currentSequence.CurrentSprite;
            m_sprite.Size = m_box;
            m_sprite.Angle = (float)Math.Atan2(m_move.Direction.Y, m_move.Direction.X);
            m_sprite.Color = new Color4ub(255, 255, 150, 255);
            m_sprite.RotateFromOrigin = true;
        }
Esempio n. 45
0
        protected void UpdateSprite(TimeSpan elapsed, SpriteSequence sequence)
        {
            m_sequence.Update(elapsed);

            m_sprite.Position = new Vector2(m_location.Position.X - m_box.X / 2, m_location.Position.Y - m_box.Y / 2);
            m_sprite.Sprite = m_sequence.CurrentSprite;
            m_sprite.Size = m_box;
        }
Esempio n. 46
0
    void Awake()
    {
        listeners = new List<ISpriteSheetListener>();
        frameListeners = new Dictionary<int, List<ISpriteSheetListener>>();
        sequences = new SpriteSequence[sequenceFrameCount.Count];

        mnemonics = new Dictionary<string, int>(keys.Count);
        for(int i = 0; i < keys.Count; i++){
            mnemonics.Add(keys[i], values[i]);
        }
        /*keys.Clear();
        values.Clear();*/

        int counter = 0;
        for (int i =0 ; i < sequences.Length ; i++){
            sequences[i] = new SpriteSequence(counter, counter + sequenceFrameCount[i] - 1);
            counter += sequenceFrameCount[i];
        }
    }
Esempio n. 47
0
 public BulletGatling()
 {
     m_sequence = new SpriteSequence(
         BulletSprites.Instance.Bullet0
     );
 }
Esempio n. 48
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);
            camera = new Camera2D(new Vector2(0f, 0f), new Vector2(1f), new Vector2(3f));

            this.Services.AddService(typeof(SpriteBatch), spriteBatch);
            this.Services.AddService(typeof(Camera2D), camera);

            texture1 = this.Content.Load<Texture2D>("tex");
            TileCatalog cat1 = new TileCatalog(texture1, 15, 15);

            Random rand = new Random(DateTime.Now.Millisecond);
            TileMap map1 = new TileMap(100, 100);
            for (int i = 0; i < 100; i++)
            {
                for (int j = 0; j < 100; j++)
                {
                    map1.SetTile(i, j, new Tile(rand.Next(1, cat1.TilePositions.Count)));
                }
            }

            TileLayer layer1 = new TileLayer(cat1, map1, 0.5f, false, new Vector2(0, 0), new Vector2(1f, 1f), new Vector2(3f), false, LayerMovementDirection.None);

            texture2 = this.Content.Load<Texture2D>("tiles2");

            TileCatalog cat2 = new TileCatalog(texture2, 48, 48);
            TileMap map2 = new TileMap(10, 500);
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 500; j++)
                {
                    map2.SetTile(i, j, new Tile(rand.Next(1, cat2.TilePositions.Count)));
                }
            }
            TileLayer layer2 = new TileLayer(cat2, map2, 1.0f, false, new Vector2(0, 0), new Vector2(1f, 1f), new Vector2(3f), true, LayerMovementDirection.Up);

            scene = new TileScene();
            scene.AddLayer(layer2);
            scene.AddLayer(layer1);

            TileComponent component = new TileComponent(this, scene, baseScreenSize, resultionIndependent);
            this.Components.Add(component);

            TextureLayer tLayer1 = new TextureLayer(this.texture1, 1f, false, new Vector2(20f), Vector2.One, new Vector2(1.5f,1.5f), true, Anchor.LowerRight);
            TextureLayer tLayer2 = new TextureLayer(this.texture2, 0.5f, false, new Vector2(10f), Vector2.One, new Vector2(5f), true, Anchor.LowerLeft);

            TextureScene tScene = new TextureScene();
            tScene.AddLayer(tLayer1);
            tScene.AddLayer(tLayer2);
            TextureComponent tComponent = new TextureComponent(this, tScene, baseScreenSize, resultionIndependent);
            this.Components.Add(tComponent);

            texture1 = this.Content.Load<Texture2D>("megax");
            SpriteCatalog scatalog = new SpriteCatalog(texture1, 36, 42);

            SpriteSequence[] spriteSecuences = new SpriteSequence[2];

            SpriteSequence spriteSecuence1 = new SpriteSequence(7, 0);
            spriteSecuence1.StepTime = 400;
            spriteSecuence1.SetFrame(0,new SpriteFrame(1));
            spriteSecuence1.SetFrame(1, new SpriteFrame(1));
            spriteSecuence1.SetFrame(2, new SpriteFrame(1));
            spriteSecuence1.SetFrame(3, new SpriteFrame(1));
            spriteSecuence1.SetFrame(4, new SpriteFrame(2));
            spriteSecuence1.SetFrame(5, new SpriteFrame(3));
            spriteSecuence1.SetFrame(6, new SpriteFrame(1));
            spriteSecuences[0] = spriteSecuence1;

            SpriteSequence spriteSecuence2 = new SpriteSequence(10, 0);
            spriteSecuence2.StepTime = 90;
            spriteSecuence2.SetFrame(0, new SpriteFrame(5));
            spriteSecuence2.SetFrame(1, new SpriteFrame(6));
            spriteSecuence2.SetFrame(2, new SpriteFrame(7));
            spriteSecuence2.SetFrame(3, new SpriteFrame(8));
            spriteSecuence2.SetFrame(4, new SpriteFrame(9));
            spriteSecuence2.SetFrame(5, new SpriteFrame(10));
            spriteSecuence2.SetFrame(6, new SpriteFrame(11));
            spriteSecuence2.SetFrame(7, new SpriteFrame(12));
            spriteSecuence2.SetFrame(8, new SpriteFrame(13));
            spriteSecuence2.SetFrame(9, new SpriteFrame(14));

            spriteSecuences[1] = spriteSecuence2;

            SpriteLayer spLayer = new SpriteLayer(scatalog, spriteSecuences, 1.0f, true, new Vector2(10f), Vector2.One, Vector2.Zero, SpriteEffects.None, true, Anchor.None);
            spLayer.CurrentSequence = 2;
            SpriteScene spScene = new SpriteScene();
            spScene.AddLayer(spLayer);
            SpriteComponent spComponent = new SpriteComponent(this, spScene, baseScreenSize, resultionIndependent);
            this.Components.Add(spComponent);
        }
Esempio n. 49
0
 void Awake()
 {
     listeners = new List<ISpriteSheet>();
     sequences = new SpriteSequence[sequenceFrameCount.Count];
     int counter = 0;
     for (int i =0 ; i < sequences.Length ; i++){
         sequences[i] = new SpriteSequence(counter, counter + sequenceFrameCount[i] - 1);
         counter += sequenceFrameCount[i];
     }
 }