Changeset 822 for 2010/23


Ignore:
Timestamp:
2010-06-14 15:14:27 (9 years ago)
Author:
sijoseha
Message:

Still building up

Location:
2010/23/sijoseha/alpha/Effects
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • 2010/23/sijoseha/alpha/Effects/Explosion.cs

    r803 r822  
    1717    { 
    1818 
    19         public Explosion(Game game, Vector2 position, String textureName) 
     19        public Explosion(ParticleGame game, Vector2 position, String textureName) 
    2020            : base(game, position, textureName) 
    2121        { 
  • 2010/23/sijoseha/alpha/Effects/ParticleGame.cs

    r802 r822  
    2121        GraphicsDeviceManager graphics; 
    2222        SpriteBatch spriteBatch; 
     23        public SpriteBatch SpriteBatch 
     24        { 
     25            get { return spriteBatch; } 
     26        } 
    2327         
    2428         
     
    138142        { 
    139143            GraphicsDevice.Clear(Color.Black); 
    140             spriteBatch.Begin(SpriteBlendMode.AlphaBlend); 
    141             foreach (Particle p in particles) 
    142             { 
    143                 if (p.Alive) 
    144                 { 
    145                     Color color = new Color(1.0f, 1.0f, 1.0f, 1.0f - (p.Lifetime * p.CurrentTime)); 
    146                     spriteBatch.Draw(p.Texture, p.Position, null, color, p.Rotation, p.Origin, p.Scale, SpriteEffects.None, 1.0f); 
    147                     spriteBatch.Draw(p.InnerTexture, p.Position, null, color, p.Rotation, p.Origin, p.Scale*0.8f, SpriteEffects.None, 1.0f); 
    148                 } 
    149             } 
    150             spriteBatch.End(); 
    151144            // TODO: Add your drawing code here 
    152145 
  • 2010/23/sijoseha/alpha/Effects/ParticleSystem.cs

    r819 r822  
    1616    public abstract class ParticleSystem : DrawableGameComponent 
    1717    { 
    18         private Game game; 
     18        private ParticleGame game; 
    1919 
    2020        private Particle[] particles; 
     
    5555 
    5656        private Texture2D texture, innerTexture, outerTexture; 
     57        private Vector2 textureOrigin; 
    5758 
    5859        private int maxAmountOfParticles; 
     
    6364        } 
    6465 
    65         public ParticleSystem(Game game, Vector2 position, String textureName) 
     66        public ParticleSystem(ParticleGame game, Vector2 position, String textureName) 
    6667            : base(game) 
    6768        { 
     
    7071        } 
    7172 
    72         public ParticleSystem(Game game, Vector2 position, String innerTextureName, String outerTextureName) 
     73        public ParticleSystem(ParticleGame game, Vector2 position, String innerTextureName, String outerTextureName) 
    7374            : base(game) 
    7475        { 
     
    9495            { 
    9596                texture = game.Content.Load<Texture2D>(textureName.ToString()); 
     97                textureOrigin.X = texture.Width / 2; 
     98                textureOrigin.Y = texture.Height / 2; 
    9699            } 
    97100            if (textureType == TextureType.Dual) 
     
    99102                innerTexture = game.Content.Load<Texture2D>(innerTextureName.ToString()); 
    100103                outerTexture = game.Content.Load<Texture2D>(outerTextureName.ToString()); 
     104                textureOrigin.X = outerTexture.Width / 2; 
     105                textureOrigin.Y = outerTexture.Height / 2; 
    101106            } 
    102107 
     
    109114            base.Update(gameTime); 
    110115        } 
     116 
     117        public override void Draw(GameTime gameTime) 
     118        { 
     119            game.SpriteBatch.Begin(); 
     120            foreach (Particle p in particles) 
     121            { 
     122                if (!p.Alive) 
     123                { 
     124                    continue; 
     125                } 
     126                if (textureType == TextureType.Single) 
     127                { 
     128                    game.SpriteBatch.Draw(texture, p.Position, null, Color.White, p.Rotation, textureOrigin, p.Scale, SpriteEffects.None, 1.0f); 
     129                } 
     130                if (textureType == TextureType.Dual) 
     131                { 
     132                    game.SpriteBatch.Draw(outerTexture, p.Position, null, Color.White, p.Rotation, textureOrigin, p.Scale, SpriteEffects.None, 1.0f); 
     133                    game.SpriteBatch.Draw(innerTexture, p.Position, null, Color.White, p.Rotation, textureOrigin, p.Scale, SpriteEffects.None, 1.0f); 
     134                } 
     135            } 
     136            base.Draw(gameTime); 
     137        } 
    111138    } 
    112139} 
Note: See TracChangeset for help on using the changeset viewer.