本文共 597 字,大约阅读时间需要 1 分钟。
主流程 main.pde
程序的逻辑主要分为两部分:
1.绘制带阴影的圆角矩形;
2.粒子的运动及绘制,另外还利用了 lunar 库提供的在一个点集上获取离某点较近(小于某个范围)的子点集的方法,通过它来对子点集进行高亮。
import lunar.*;/// @note 用鼠标交互创建一个简单的2D粒子系统// 800x800 的画布尺寸LVector windowSize = new LVector(800, 800);LVector canvasSize = new LVector(windowSize.x *pow(0.625, 2), windowSize.y * 0.625);LVector canvasOffset = new LVector((windowSize.x - canvasSize.x) * 0.5, (windowSize.y - canvasSize.y) * 0.5);// 粒子和其加速度的列表ArrayListpoints;ArrayList acceleration;void settings(){ size((int)windowSize.x, (int)windowSize.y, P2D); smooth(8);}void
转载地址:http://iwvxf.baihongyu.com/