//from nape.as, the Physics Editor (https://www.codeandweb.com/physicseditor) Nape-exporter template.
//nape.as is located in [install directory]\CodeAndWeb\PhysicsEditor\resources\exporters\nape-as3\
//Changes:
//fixed typos: "{{body.cbType}}" => "{{body.cbTypes}}", "{{fixture.cbType}}" => "{{fixture.cbTypes}}"
//added comment with body name at start of definition to help when navigating the source
//changed s.body = body; => body.shapes.add(s) for my own peace of mind (clarify intention)
private static function init():void {
bodies = new Dictionary();
var body:Body;
var mat:Material;
var filt:InteractionFilter;
var prop:FluidProperties;
var cbType:CbType;
var s:Shape;
var anchor:Vec2;
{% for body in bodies %}
//{{body.name}}
body = new Body();
cbtype(body.cbTypes,"{{body.cbTypes}}");
{% for fixture in body.fixtures %}
mat = material("{{fixture.material}}");
filt = filter("{{fixture.filter}}");
prop = fprop("{{fixture.fprop}}");
{% if fixture.isCircle %}
s = new Circle(
{{fixture.radius}},
Vec2.weak({{fixture.center.x}},{{fixture.center.y}}),
mat,
filt
);
body.shapes.add(s);
s.sensorEnabled = {{fixture.sensorEnabled}};
s.fluidEnabled = {{fixture.fluidEnabled}};
s.fluidProperties = prop;
cbtype(s.cbTypes,"{{fixture.cbTypes}}");
{% else %}
{% for polygon in fixture.polygons %}
s = new Polygon(
[ {% for point in polygon %} {% if not forloop.first %}, {% endif %} Vec2.weak({{point.x}},{{point.y}}) {% endfor %} ],
mat,
filt
);
body.shapes.add(s);
s.sensorEnabled = {{fixture.sensorEnabled}};
s.fluidEnabled = {{fixture.fluidEnabled}};
s.fluidProperties = prop;
cbtype(s.cbTypes,"{{fixture.cbTypes}}");
{% endfor %}
{% endif %}
{% endfor %}
anchor = ({{body.auto_anchor}}) ? body.localCOM.copy() : Vec2.get({{body.anchorPointAbs.x}},{{body.anchorPointAbs.y}});
body.translateShapes(Vec2.weak(-anchor.x,-anchor.y));
body.position.setxy(0,0);
bodies["{{body.name}}"] = new BodyPair(body,anchor);
{% endfor %}
}
Comments
0 B
|👍
/👎
0 B
|0 👍
/0 👎
0 B
|👍
/👎
0 B
|👍
/👎