?? gravityforce.as
字號:
package flare.physics
{
/**
* Force simulating a global gravitational pull on Particle instances.
*/
public class GravityForce implements IForce
{
private var _gx:Number;
private var _gy:Number;
/** The gravitational acceleration in the horizontal dimension. */
public function get gravityX():Number { return _gx; }
public function set gravityX(gx:Number):void { _gx = gx; }
/** The gravitational acceleration in the vertical dimension. */
public function get gravityY():Number { return _gy; }
public function set gravityY(gy:Number):void { _gy = gy; }
/**
* Creates a new gravity force with given acceleration values.
* @param gx the gravitational acceleration in the horizontal dimension
* @param gy the gravitational acceleration in the vertical dimension
*/
public function GravityForce(gx:Number=0, gy:Number=0) {
_gx = gx;
_gy = gy;
}
/**
* Applies this force to a simulation.
* @param sim the Simulation to apply the force to
*/
public function apply(sim:Simulation):void
{
if (_gx == 0 && _gy == 0) return;
var p:Particle;
for (var i:uint=0; i<sim.particles.length; ++i) {
p = sim.particles[i];
p.fx += _gx * p.mass;
p.fy += _gy * p.mass;
}
}
} // end of class GravityForce
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -