Как использовать.as экспортированный файл из PhysicsEditor
Вопрос был здесь долгое время с щедростью и без удовлетворительного решения для меня. Я удалил первое сообщение и вместо этого публикую вопрос, на который можно быстро ответить "да" или "нет", чтобы я мог продолжить свои действия.
Если бы вы могли ответить на него очень быстро, прежде чем он будет удален "не очень хороший вопрос". Является ли использование настраиваемой фигуры из PhysicsEditor для Nape так же, как это делается с Box2D? (ofc меняющий синтаксис)
Если вы могли бы тогда взглянуть на эту ссылку, то скажите, что это тот же процесс в Nape, который будет достаточно, спасибо.
Я спрашиваю об этом, потому что я нашел учебник Box2D легче следовать до сих пор.
public var floor:Body;
floor = new Body(BodyType.STATIC);
var floorShape:PhysicsData = new PhysicsData();
floor.shapes.add(floorShape); // Error: Implicit coercion of a value of type PhysicsData to an unrelated type nape.shape:Shape.
floor.space = space;
1 ответ
Обновить:
Согласно комментарию к этому сообщению в блоге, похоже, что последние версии Nape нарушили совместимость с редактором физики. В частности, graphic
а также graphicUpdate
свойства больше не существуют на объектах тела. Предлагаемое решение состоит в том, чтобы удалить ссылки на эти свойства.
Я не в состоянии проверить это, но вы можете попробовать обновить createBody
метод вашего пола класса следующим образом:
public static function createBody(name:String /*,graphic:DisplayObject=null*/):Body {
var xret:BodyPair = lookup(name);
//if(graphic==null) return xret.body.copy();
var ret:Body = xret.body.copy();
//graphic.x = graphic.y = 0;
//graphic.rotation = 0;
//var bounds:Rectangle = graphic.getBounds(graphic);
//var offset:Vec2 = Vec2.get(bounds.x-xret.anchor.x, bounds.y-xret.anchor.y);
//ret.graphic = graphic;
/*
ret.graphicUpdate = function(b:Body):void {
var gp:Vec2 = b.localToWorld(offset);
graphic.x = gp.x;
graphic.y = gp.y;
graphic.rotation = (b.rotation*180/Math.PI)%360;
}
*/
return ret;
}