C# 单对策中的圆形粒子效应
我不熟悉C#和单人游戏,我正在尝试创造一种“心灵”能力的效果,用户按下一个键,他们的位置会发出一个圆形光环爆炸。我只是想在设置位置之前让实际的爆炸发生,但我的问题是当我试图让所有的粒子从圆的原点向外移动时 我从来没有研究过圆,只研究过矩形,所以我对这方面的知识非常基础。你可能会从youtube频道识别出代码,这是因为我一直在尽可能地学习,大部分时间我都会去youtube,因为视频演示效果最好,但我离题了 这是到目前为止我为粒子生成器编写的代码C# 单对策中的圆形粒子效应,c#,monogame,particles,C#,Monogame,Particles,我不熟悉C#和单人游戏,我正在尝试创造一种“心灵”能力的效果,用户按下一个键,他们的位置会发出一个圆形光环爆炸。我只是想在设置位置之前让实际的爆炸发生,但我的问题是当我试图让所有的粒子从圆的原点向外移动时 我从来没有研究过圆,只研究过矩形,所以我对这方面的知识非常基础。你可能会从youtube频道识别出代码,这是因为我一直在尽可能地学习,大部分时间我都会去youtube,因为视频演示效果最好,但我离题了 这是到目前为止我为粒子生成器编写的代码 namespace Particles { clas
namespace Particles
{
class ParticleGenerator
{
Texture2D texture;
float spawnWidth;
float density;
List<Particles> particles = new List<Particles>();
float timer;
public ParticleGenerator(Texture2D newTexture, float newSpawnWidth, float newDensity)
{
texture = newTexture;
spawnWidth = newSpawnWidth;
density = newDensity;
}
public void createParticle(GraphicsDevice graphics)
{
particles.Add(new Particles(texture, new Vector2(graphics.Viewport.Width / 2 , graphics.Viewport.Height /2), new Vector2(5, 1)));
}
public void Update(GameTime gameTime, GraphicsDevice graphics)
{
timer += (float)gameTime.ElapsedGameTime.TotalSeconds;
while (timer > 0)
{
timer -= 1f / density;
createParticle(graphics);
}
for (int i = 0; i < particles.Count; i++)
{
particles[i].Update();
if (particles[i].Position.Y > graphics.Viewport.Height)
{
particles.RemoveAt(i);
i--;
}
}
}
public void Draw(SpriteBatch spriteBatch)
{
foreach (Particles particle in particles)
{
particle.Draw(spriteBatch);
}
}
}
名称空间粒子
{
类分词生成器
{
纹理2D纹理;
浮动宽度;
漂浮密度;
列表粒子=新列表();
浮动定时器;
公共参与者生成器(纹理2D新纹理、浮动新闻宽度、浮动新密度)
{
纹理=新纹理;
spawnWidth=newSpawnWidth;
密度=新密度;
}
公共void createParticle(图形设备图形)
{
添加(新粒子(纹理,新矢量2(graphics.Viewport.Width/2,graphics.Viewport.Height/2),新矢量2(5,1));
}
公共无效更新(游戏时间游戏时间,图形设备图形)
{
计时器+=(浮点)gameTime.ElapsedGameTime.TotalSeconds;
同时(计时器>0)
{
定时器-=1f/密度;
创建粒子(图形);
}
对于(int i=0;igraphics.Viewport.Height)
{
颗粒去除(i);
我--;
}
}
}
公共作废抽签(SpriteBatch SpriteBatch)
{
foreach(粒子中的粒子)
{
粒子绘制(spriteBatch);
}
}
}
}
非常感谢您的帮助。我建议您将此贴在monogame开发者更容易看到的地方。@SomeGuy是的,我会这样做,谢谢您提供的信息:)