65.9K
CodeProject 正在变化。 阅读更多。
Home

C# 微型烟花模拟器

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.25/5 (10投票s)

2009年2月17日

CPOL

1分钟阅读

viewsIcon

46291

downloadIcon

2631

基于简单物理引擎的一个小型烟花模拟器。用户可以配置 10 个发射器,包括炸弹的初始速度、爆炸形状和爆炸颜色。

FireWorksSimulator_Sources

引言

本文的目的更多是展示应用程序,而不是解释代码的技术细节,代码实际上非常简单。该应用程序的目标是在一个专门的用户控件上显示烟花粒子。实际上,用户控件管理着烟花炸弹的列表,贯穿其整个生命周期;用户可以通过窗口底部的炸弹发射器控件随时发射新的炸弹。

描述

每个烟花炸弹都包含一个烟花粒子列表,第一次列表只包含一个沿垂直轴发射的粒子;当这个粒子到达顶点时,它会被删除,并且新的粒子会填充到列表中;这些粒子象征着爆炸粒子。

在每个计时器滴答时,模拟器控件会刷新每个炸弹中每个粒子的位置。刷新位置由一个基本的物理引擎计算;实际上,每个粒子都有质量和施加在其上的力。物理引擎使用动力学基本原理:外力之和等于质量乘以加速度。

爆炸的形状由爆炸粒子的初始速度表达式给出。该应用程序实现了 10 种不同的爆炸形状;从基本的(圆形)到更奇怪的... 此外,为了尝试提高相似度,一个淡出效果作用于粒子上。

历史

  • 2009 年 2 月 17 日:初始发布
© . All rights reserved.