elastic_force_class.as
来自「这是《Flash MX编程与创意实现》的源代码」· AS 代码 · 共 71 行
AS
71 行
/*
ElasticForce Class v1.1
Oct. 29, 2002
(c) 2002 Robert Penner
This is a custom object used to implement elastic force
according to Hooke's Law.
Designed to collaborate with PhysicsParticle class.
Dependencies:
- Force class
- Function.extend() and Object.superCon() (included in core_setup.as)
Discussed in Chapter 11 of
Robert Penner's Programming Macromedia Flash MX
http://www.robertpenner.com/profmx
http://www.amazon.com/exec/obidos/ASIN/0072223561/robertpennerc-20
*/
if (typeof _global.Force != 'function') trace (">> Error: superclass missing - Force");
if (typeof Object.superCon != 'function') trace (">> Error: Object.superCon() missing (core_setup.as)");
_global.ElasticForce = function (anchorX, anchorY, tautness, life) {
this.superCon (0, 0, life);
this.$anchor = new Vector (anchorX, anchorY);
this.$tautness = tautness;
};
ElasticForce.extend (Force);
var EFP = ElasticForce.prototype;
////////// GETTER/SETTER METHODS
EFP.setAnchor = function (x, y) {
this.$anchor.reset (x, y);
};
EFP.getAnchor = function () {
return this.$anchor;
};
EFP.setTautness = function (t) {
this.$tautness = t;
};
EFP.getTautness = function () {
return this.$tautness;
};
////////// PRIVATE METHODS
EFP.update = function () {
with (this) {
$value = parentPos.minusNew ($anchor);
$value.scale (-$tautness);
}
};
with (EFP) {
addProperty ("tautness", getTautness, setTautness);
addProperty ("anchor", getAnchor, null);
}
delete EFP;
trace (">> ElasticForce class loaded");
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?