topical media & game development
#physic-flex-ape-sample-robot-Body.ax
(swf
)
[ flash
]
flex
package {
import org.cove.ape.*;
public class @ax-physic-flex-ape-sample-robot-Body extends Composite {
private var top:AbstractParticle;
private var rgt:AbstractParticle;
private var lft:AbstractParticle;
private var bot:AbstractParticle;
private var ctr:AbstractParticle;
public function @ax-physic-flex-ape-sample-robot-Body(
left:AbstractParticle,
right:AbstractParticle,
height:int,
lineWeight:Number,
lineColor:uint,
lineAlpha:Number) {
var cpx:Number = (right.px + left.px) / 2;
var cpy:Number = right.py;
rgt = new CircleParticle(right.px, right.py, 1);
rgt.setStyle(3, lineColor, 1, lineColor, 1);
lft = new CircleParticle(left.px, left.py, 1);
lft.setStyle(3, lineColor, 1, lineColor, 1);
ctr = new CircleParticle(cpx, cpy, 1);
ctr.visible = false;
top = new CircleParticle(cpx, cpy - height / 2, 1);
top.visible = false
bot = new CircleParticle(cpx, cpy + height / 2, 1);
bot.visible = false
// outer constraints
var tr:SpringConstraint = new SpringConstraint(top,rgt,1);
tr.visible = false;
var rb:SpringConstraint = new SpringConstraint(rgt,bot,1);
rb.visible = false;
var bl:SpringConstraint = new SpringConstraint(bot,lft,1);
bl.visible = false;
var lt:SpringConstraint = new SpringConstraint(lft,top,1);
lt.visible = false;
// inner constrainst
var ct:SpringConstraint = new SpringConstraint(top,center,1);
ct.visible = false;
var cr:SpringConstraint = new SpringConstraint(rgt,center,1);
cr.setLine(lineWeight, lineColor, lineAlpha);
var cb:SpringConstraint = new SpringConstraint(bot,center,1);
cb.visible = false;
var cl:SpringConstraint = new SpringConstraint(lft,center,1);
cl.setLine(lineWeight, lineColor, lineAlpha);
ctr.collidable = false;
top.collidable = false;
rgt.collidable = false;
bot.collidable = false;
lft.collidable = false;
addParticle(ctr);
addParticle(top);
addParticle(rgt);
addParticle(bot);
addParticle(lft);
addConstraint(tr);
addConstraint(rb);
addConstraint(bl);
addConstraint(lt);
addConstraint(ct);
addConstraint(cr);
addConstraint(cb);
addConstraint(cl);
}
public function get left():AbstractParticle {
return lft;
}
public function get center():AbstractParticle {
return ctr;
}
public function get right():AbstractParticle {
return rgt;
}
}
}
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.