📄 dragforce.as
字号:
package flare.physics
{
/**
* Force simulating frictional drag forces (e.g., air resistance). For
* each particle, this force applies a drag based on the particles
* velocity (<code>F = a * v</code>, where a is a drag co-efficient and
* v is the velocity of the particle).
*/
public class DragForce implements IForce
{
private var _dc:Number;
/** The drag co-efficient. */
public function get drag():Number { return _dc; }
public function set drag(dc:Number):void { _dc = dc; }
/**
* Creates a new DragForce with given drag co-efficient.
* @param dc the drag co-efficient.
*/
public function DragForce(dc:Number=0.1) {
_dc = dc;
}
/**
* Applies this force to a simulation.
* @param sim the Simulation to apply the force to
*/
public function apply(sim:Simulation):void
{
if (_dc == 0) return;
for (var i:uint = 0; i<sim.particles.length; ++i) {
var p:Particle = sim.particles[i];
p.fx -= _dc * p.vx;
p.fy -= _dc * p.vy;
}
}
} // end of class DragForce
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -